我想讲一段字符串,格式大概是:“编号”+空格+“数量”+回车+”编号“+”空格“+”数量“+回车…………这样的数据存到二维数组里,最后写入数据库。用php。多方搜索无果,请教大神们如何操作?
数据行数还不一定。有可能是1行 也有可能是10多行。
$str="123 5
456 5
159 6";
数组格式
$order = array
(
"1"=>array
(
"123",
"5"
),
"2"=>array
(
"456".
"5"
),
"3=>array
(
"159",
"6"
)
);
php将字符串拆分成二维数组
答案:4 悬赏:70 手机版
解决时间 2021-04-07 06:34
- 提问者网友:欲劫无渡
- 2021-04-06 21:17
最佳答案
- 五星知识达人网友:过活
- 2021-04-06 21:27
数据如果来自来文件的话,很好操作自,下边给你示例不是来自文百件的数据
<?php
if($_POST){
$arr=explode("\n",$_POST["test"]);
$result=array();
foreach($arr as $data){
trim($data) && $result[]=explode(" ",$data); //首先要检查度$data是否为空
}
print_r($result);
}
?>
<form action="a.php" method="post">
<textarea name="test" style="width:500px;height:200px;"></textarea>
<input type="submit" value="提交" />
</form>
<?php
if($_POST){
$arr=explode("\n",$_POST["test"]);
$result=array();
foreach($arr as $data){
trim($data) && $result[]=explode(" ",$data); //首先要检查度$data是否为空
}
print_r($result);
}
?>
<form action="a.php" method="post">
<textarea name="test" style="width:500px;height:200px;"></textarea>
<input type="submit" value="提交" />
</form>
全部回答
- 1楼网友:人间朝暮
- 2021-04-06 23:02
要把你想生成的二维数组形式发出来别人才能帮你撒~
array(
0=>array("编号"=>'数量"),
...
)
这一种形式吗?
- 2楼网友:酒醒三更
- 2021-04-06 22:33
1.用一个循环语句就可以了。例如:
char *a[3]={"1","23","456"};
char b[10][10];
for(i=0;i<3;i++) strcpy(b[i],a[i]);
2.字符串和数组的关系:
字符串就是一个一维数组,它的每一个元素都是一个字符。
在c语言中字符串是以\0结尾的一串字符,如“abcd1234\0”。
字符串数组str[4]="abc\0"。\0是结束符。
字符串数组里的字符长度都为3 ,打印的时候只显示abc,\0不显示。
3.字符串的定义:
字符串或串(string)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
- 3楼网友:北方的南先生
- 2021-04-06 22:17
<?php
$str="123 5
456 5
159 6";
function strsToArray($strs,$x) { // 把字符串按指定正则切割为数组32313133353236313431303231363533e59b9ee7ad9431333332626661
$result = array();
$array = array();
//把与正则匹配的字符串替换为 @
$strs = preg_replace($x, '@', trim($strs));
$array = explode('@', trim($strs));
foreach ($array as $key => $value) {
$result[] = $value;
}
return $result;
}
$test=strsToArray($str,'/\n/'); // 以换行符切割字符串为数组
foreach ($test as $key => $value) { // 遍历数组,再以空格切割字符串为数组
$testb[]=strsToArray($value,'/\s/');
}
echo var_dump($testb);
?>希望对你有所帮助
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯