PHP:多个数组中的新数组

PHP:多个数组中的新数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我在自学PHP,我对数组有以下问题: 我有: $names = array('John', 'Alice', 'Tom'); $cities = array('London', 'NY', 'Boston'); $years = array('1999', '2010', '2012'); $colors = array('red', 'blue', 'green'); 我想要一个包含以下元素的新数组(三个子数组): 我在做什么 $newArray = arr

我在自学PHP,我对数组有以下问题:

我有:

   $names = array('John', 'Alice', 'Tom');
    $cities = array('London', 'NY', 'Boston');
    $years = array('1999', '2010', '2012');
    $colors = array('red', 'blue', 'green'); 
我想要一个包含以下元素的新数组(三个子数组):

我在做什么

 $newArray = array($names,$cities, $years,$colors);
但这显示了所有的名字,城市等等:(请告诉我如何做到这一点

非常感谢!

使用
foreach()

使用
foreach()


如果希望三个列表都是数组,每个值都是子数组中的一个元素,请执行以下操作:

$names = array('John', 'Alice', 'Tom');
$cities = array('London', 'NY', 'Boston');
$years = array('1999', '2010', '2012');
$colors = array('red', 'blue', 'green'); 

$final_array = array();

foreach($names as $count => $name){
    array_push($final_array,array($name,$cities[$count],$years[$count],$colors[$count]));
}

var_export($final_array);
这将提供以下输出:

array (
  0 => 
  array (
    0 => 'John',
    1 => 'London',
    2 => '1999',
    3 => 'red',
  ),
  1 => 
  array (
    0 => 'Alice',
    1 => 'NY',
    2 => '2010',
    3 => 'blue',
  ),
  2 => 
  array (
    0 => 'Tom',
    1 => 'Boston',
    2 => '2012',
    3 => 'green',
  ),

如果希望结果是字符串数组,请使用Mihai的答案。

如果希望三个列表是数组,每个值都是子数组中的一个元素,请执行以下操作:

$names = array('John', 'Alice', 'Tom');
$cities = array('London', 'NY', 'Boston');
$years = array('1999', '2010', '2012');
$colors = array('red', 'blue', 'green'); 

$final_array = array();

foreach($names as $count => $name){
    array_push($final_array,array($name,$cities[$count],$years[$count],$colors[$count]));
}

var_export($final_array);
这将提供以下输出:

array (
  0 => 
  array (
    0 => 'John',
    1 => 'London',
    2 => '1999',
    3 => 'red',
  ),
  1 => 
  array (
    0 => 'Alice',
    1 => 'NY',
    2 => '2010',
    3 => 'blue',
  ),
  2 => 
  array (
    0 => 'Tom',
    1 => 'Boston',
    2 => '2012',
    3 => 'green',
  ),
如果希望结果是字符串数组,请使用Mihai的答案。

或者可以使用“for”

$count=count($name);
$new_array=array();
对于($i=0;$i<$count;$i++){
$new_array[]=array($names[$i],$cities[$i],$years[$i],$colors[$i]);
}
或者您可以使用“for”

$count=count($name);
$new_array=array();
对于($i=0;$i<$count;$i++){
$new_array[]=array($names[$i],$cities[$i],$years[$i],$colors[$i]);
}
以获得这样的输出--

约翰伦敦1999年红色

Alice NY 2010蓝色

Tom Boston 2012绿色版

你必须做到以下几点

$result = array();
foreach($names as $key=>$value){
$result[]='<pre>'.$value.' '.$cities[$key].' '.$years[$key].''.$colors[$key].'</pre>';
}
得到这样的输出--

约翰伦敦1999年红色

Alice NY 2010蓝色

Tom Boston 2012绿色版

你必须做到以下几点

$result = array();
foreach($names as $key=>$value){
$result[]='<pre>'.$value.' '.$cities[$key].' '.$years[$key].''.$colors[$key].'</pre>';
}
$output=implode('',$result);
echo $output;