我正在找人来解决这个问题。 所以我想将数组添加到数组中,但名称如下所示:
array(
'names' = > array( 'firstname' => 'jean' )
);
并且第二次我希望附加另一个这样的项目:
array(
'names' = > array( 'firstname' => 'jean'),
array( 'age' = > '23')
);
等等
array(
'names' = > array( 'firstname' => 'jean'),
array( 'age' = > '23'),
array( 'job' = > 'programmer')
);
提前谢谢。
答案 0 :(得分:1)
$a = array('names'=>array());
$a['names'][] = array( 'firstname' => 'jean');
$a['names'][] = array( 'age' = > '23');
$a['names'][] = array( 'job' = > 'programmer');
或者您可以使用array_push
http://php.net/manual/en/function.array-push.php
$a = array('names'=>array());
array_push($a['names'], array( 'firstname' => 'jean'));
array_push($a['names'], array( 'age' = > '23');
...
对于@deceze评论,正确的结构将是:
array(
array('firstname' => '', 'age' => 100, 'job' => ''),
array('firstname' => '', 'age' => 100, 'job' => ''),
array('firstname' => '', 'age' => 100, 'job' => '')
)
你可以把它作为一个子阵列放在你的结构中。
答案 1 :(得分:1)
$arr['names'] = array();
$arr['names'][] = array('firstname' => 'jean');
$arr['names'][] = array('age' => '23');
$arr['names'][] = array('job' => 'programmer');
答案 2 :(得分:0)
我很抱歉,但我不得不反对这里的流程。对我而言,如果您的阵列看起来像这样,真的,真的会更有意义:
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_keys($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/>';
在这种情况下,输出将是“Jean是一名23岁的程序员”再次这可能不是您问题的直接答案,但这可能对您有用在计算出age
未来属于job
和name
的内容时遇到了麻烦。当然,对象是避免这种情况的另一种方法