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的嵌套数组_Php_Arrays_Nested - Fatal编程技术网

名称为PHP的嵌套数组

名称为PHP的嵌套数组,php,arrays,nested,Php,Arrays,Nested,我正在找人来解决这个问题。 因此,我想将数组添加到数组中,但名称如下示例所示: array( 'names' = > array( 'firstname' => 'jean' ) ); 第二次,我想再加上一个类似的项目: array( 'names' = > array( 'firstname' => 'jean'), array( 'age' = > '23') ); 等等 array(

我正在找人来解决这个问题。 因此,我想将数组添加到数组中,但名称如下示例所示:

array( 
   'names' = > array( 'firstname' => 'jean' )
);
第二次,我想再加上一个类似的项目:

array( 
   'names' = > array( 'firstname' => 'jean'),
               array(  'age' = > '23')        

);
等等

array( 
   'names' = > array( 'firstname' => 'jean'),
               array(  'age' = > '23'),
               array(  'job' = > 'programmer')


);
先谢谢你

$a = array('names'=>array());
$a['names'][] = array( 'firstname' => 'jean');
$a['names'][] = array(  'age' = > '23');
$a['names'][] = array(  'job' = > 'programmer');
或者您可以使用
array\u push

至于@deceze注释,正确的结构应该是:

array(
    array('firstname' => '', 'age' => 100, 'job' => ''),
    array('firstname' => '', 'age' => 100, 'job' => ''),
    array('firstname' => '', 'age' => 100, 'job' => '')
)

你可以把它作为一个子数组放在你的结构中。

对不起,我想在这里逆流而上。对我来说,如果你的数组看起来像这样,它真的,真的,真的会更有意义:

$arr['names'] = array();
$arr['names'][] = array('firstname' => 'jean');
$arr['names'][] = array('age' => '23');
$arr['names'][] = array('job' => 'programmer');
array('names' => array('jean' => array('age' => '23',
                                       'job' => 'programmer')));
为了实现这一点,如果要动态构建这种类型的阵列:

$main = array('names' => array());
//get data from db or something
$main['names'][$data['firstname']] = array('age' => $data['age'],
                                           'job' => $data['job']);
这才更有意义。要列出所有名称:
array_键($main['names')
执行此操作,因此数组键仍然指示它所携带的实际数据
要获取属于某个人的所有数据,请执行以下操作:

$allNames = array_keys($main['names']);
echo $allNames[0].' is a '.$main['names'][$allNames[0]]['age'].' year old '.$main['names'][$allNames[0]]['job'].'<br/>';
$allNames=array_key($main['names']);
echo$allNames[0].'是一个'$main['names'][$allNames[0]]['age'].'岁'.$main['names'][$allNames[0]]['job'.'
';

在这种情况下,输出将是“Jean是一名23岁的程序员”
这可能不是对您问题的直接回答,但当您在确定什么
年龄
属于什么
工作
姓名
时,这可能会很有用。当然,对象是避免这种情况的另一种方法

你确定这就是你想要的结构吗。。。?
$allNames = array_keys($main['names']);
echo $allNames[0].' is a '.$main['names'][$allNames[0]]['age'].' year old '.$main['names'][$allNames[0]]['job'].'<br/>';