Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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中将元素推送到2D数组_Php_Arrays - Fatal编程技术网

在PHP中将元素推送到2D数组

在PHP中将元素推送到2D数组,php,arrays,Php,Arrays,但我需要这个作为输出(预期): 请帮帮我。我想插入第二个元素:$peter=array('cs366'=>array(7,8,9)) 但不是这样:$peter['cs366']=array(7,8,9)认为这就是你的目标: $peter = array(); $peter['cs204']=array(10,10,10); $peter['cs366']=array(7,8,9); 试试这个: $peter=array('cs204'=>array(10,10,10)); $peter=

但我需要这个作为输出(预期):

请帮帮我。我想插入第二个元素:
$peter=array('cs366'=>array(7,8,9))

但不是这样:
$peter['cs366']=array(7,8,9)

认为这就是你的目标:

$peter = array();
$peter['cs204']=array(10,10,10);
$peter['cs366']=array(7,8,9);
试试这个:

$peter=array('cs204'=>array(10,10,10));
$peter=array_merge($peter, array('cs366'=>array(7,8,9)));
试一试

$peter['cs204']=数组(10,10,10);
$peter['cs366']=数组(7,8,9);
回声';
印刷(彼得);
回声';

为什么不同时声明两个子数组

$peter = array(
    'cs204' => array(10, 10, 10),
    'cs366' => array(7, 8, 9)
);
或者,如果您喜欢多行:

$peter = array('cs204' => array(10, 10, 10));
$peter['cs366'] => array(7, 8, 9);
如果您必须通过两条语句实现结果:


您是如何获得这些阵列的?还有,为什么这个
$peter['cs366']=array(7,8,9)不适合您的用途?我如何获得这些阵列?我没有完全理解你。我的意思是,你从哪里得到这些数组,即
array('cs204'=>array(10,10,10))
array('cs366'=>array(7,8,9))
?如果没有任何适当的解释,这都是猜测。我已经用索引(键)cs204和值数组(10,10,10)初始化了一个名为$peter的数组。现在我正试图用键cs366和值array(7,8,9)将另一个元素推送到数组中,所以
$peter['cs366']=array(7,8,9)非常适合您的代码,不是吗?为什么你不想使用它呢?不,考虑一下什么可以比较OP是什么。这将给出一个数组索引,从0开始,它是一个三维数组。我编辑了它。如果这不是你要找的,我就删除我的awnser。虽然这样做了,但是当你可以只使用
$peter['cs366']=…
时,这是经过深思熟虑/设计的。这取决于上下文,如果你绝对知道密钥将是cs366肯定,但如果不知道,你会遇到麻烦。此外,我认为用array_merge合并两个数组一点也不过分,恰恰相反:-)@oli谢谢。你给了我一个满意的答复。如果你不介意的话,你能告诉我为什么不使用$peter=array\u push($peter,array('cs366'=>array(7,8,9))?只需删除$peter=,因为array_push将添加到$peter
$peter=array('cs204'=>array(10,10,10));
$peter=array_merge($peter, array('cs366'=>array(7,8,9)));
 $peter['cs204']=array(10,10,10);
 $peter['cs366']=array(7,8,9);

 echo '<pre>';
 print_r($peter);
 echo '</pre>';
$peter = array('cs204' => array(10, 10, 10), 'cs366' => array(7, 8, 9));
$peter = array(
    'cs204' => array(10, 10, 10),
    'cs366' => array(7, 8, 9)
);
$peter = array('cs204' => array(10, 10, 10));
$peter['cs366'] => array(7, 8, 9);