永发信息网

php将字符串拆分成二维数组

答案:4  悬赏:70  手机版
解决时间 2021-04-07 06:34
  • 提问者网友:欲劫无渡
  • 2021-04-06 21:17
我想讲一段字符串,格式大概是:“编号”+空格+“数量”+回车+”编号“+”空格“+”数量“+回车…………这样的数据存到二维数组里,最后写入数据库。用php。多方搜索无果,请教大神们如何操作?
数据行数还不一定。有可能是1行 也有可能是10多行。
$str="123 5
456 5
159 6";

数组格式
$order = array
(
"1"=>array
(
"123",
"5"
),
"2"=>array
(
"456".
"5"
),
"3=>array
(
"159",
"6"
)
);
最佳答案
  • 五星知识达人网友:过活
  • 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>
全部回答
  • 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); ?>希望对你有所帮助
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯