Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从字符串创建多维数组_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 如何从字符串创建多维数组

Php 如何从字符串创建多维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,希望从字符串创建多维数组。我的字符串是: 13,4,3 | 65,1,1 | 27,3,2 我想将其存储在一个数组中,我假设该数组如下所示: $multi_array = array ( array(13,4,3), array(65,1,1), array(27,3,2) ); 所以我可以用$multi_数组[1][1]来调用它,它应该返回4 以下是我目前掌握的代码: $string = "13,4,3|65,1,1|27,3,2"; $explode = explode

希望从字符串创建多维数组。我的字符串是:

13,4,3 | 65,1,1 | 27,3,2

我想将其存储在一个数组中,我假设该数组如下所示:

$multi_array = array
  (
  array(13,4,3),
  array(65,1,1),
  array(27,3,2)
  );
所以我可以用$multi_数组[1][1]来调用它,它应该返回4

以下是我目前掌握的代码:

$string = "13,4,3|65,1,1|27,3,2";
$explode = explode("|", $string);
$multi_array = array(); //declare array

  $count = 0;

foreach ($explode as $value) {

  $explode2 = explode(",", $value);

  foreach ($explode2 as $value2) {
    // I'm stuck here....don't know what to do.
  }
  $count++;
}
echo '<pre>', print_r($multi_array), '</pre>';
这样试试看

$string = "13,4,3|65,1,1|27,3,2";
$explode = explode("|", $string);
$multi_array = array(); //declare array

$count = 0;

foreach ($explode as $key=>$value) { // see changes on this line

  $explode2 = explode(",", $value);

  foreach ($explode2 as $value2) {
    $multi_array[$key][$count] = $value2;
    $count++; // see count variable position changes here
  }

}
echo '<pre>', print_r($multi_array), '</pre>';
或者使用您自己的代码

$data = '13,4,3|65,1,1|27,3,2';

$new_arrays = explode('|', $data); // with this you can separate the string in 3 arrays with the demiliter '|'
这样试试看

$string = "13,4,3|65,1,1|27,3,2";
$explode = explode("|", $string);
$multi_array = array(); //declare array

$count = 0;

foreach ($explode as $key=>$value) { // see changes on this line

  $explode2 = explode(",", $value);

  foreach ($explode2 as $value2) {
    $multi_array[$key][$count] = $value2;
    $count++; // see count variable position changes here
  }

}
echo '<pre>', print_r($multi_array), '</pre>';
或者使用您自己的代码

$data = '13,4,3|65,1,1|27,3,2';

$new_arrays = explode('|', $data); // with this you can separate the string in 3 arrays with the demiliter '|'
您的外部foreach循环是正确的。您不需要内部循环,因为explode返回一个数组。只需将此数组附加到结果数组中,就可以得到一个2D数组

您的外部foreach循环是正确的。您不需要内部循环,因为explode返回一个数组。只需将此数组附加到结果数组中,就可以得到一个2D数组

可以使用explode函数使用分隔符拆分字符串,在本例中为“|”,如下所示:

$multi_array = array
  (
  array(13,4,3),
  array(65,1,1),
  array(27,3,2)
  );
PHP:

以下是explode的文档:

问候

您可以使用explode函数拆分带有分隔符的字符串,在本例中为“|”,如下所示:

$multi_array = array
  (
  array(13,4,3),
  array(65,1,1),
  array(27,3,2)
  );
PHP:

以下是explode的文档:


问候

哇!太快了。非常感谢你的回答,查理,还是麦克…还是迪安德拉?无论如何,非常感谢:我还不能接受你的回答,因为你回答得太快了。哇!太快了。非常感谢你的回答,查理,还是麦克…还是迪安德拉?无论如何,非常感谢:我还不能接受你的回答,因为你回答得太快了。