-1

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

array( 
   'names' = > array( 'firstname' => 'jean' )
);

第二次我希望附加这样的另一个项目:

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

);

等等

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


);

先感谢您。

4

3 回答 3

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' => '')
)

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

于 2012-12-14T16:10:03.920 回答
1
$arr['names'] = array();
$arr['names'][] = array('firstname' => 'jean');
$arr['names'][] = array('age' => '23');
$arr['names'][] = array('job' => 'programmer');
于 2012-12-14T16:10:53.460 回答
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 岁的程序员”同样,这可能不是您问题的直接答案,但是当您在确定什么属于什么以及将来
遇到问题时,这可能会很有用。当然,对象是另一种避免这种情况的方法agejobname

于 2012-12-15T11:15:28.477 回答