简体   繁体   English

PHP数组我怎么能在我的数组中添加一个额外的项目(while循环)

[英]PHP array's How can i add an extra item to my array (while loop)

I have this code, but how can i add an extra item in the array? 我有这个代码,但是如何在数组中添加额外的项目? In this example i want to add an array with a 'slug'-title. 在这个例子中,我想添加一个带有'slug'标题的数组。 This doesn't work. 这不起作用。

$interviewresult = $db->query($interviewsql);
$interviewdata = $interviewresult->fetch_assoc();
$interviewdata['slug'] = $slug->create($interviewdata['title']);

while($interviewtrackerlist = $interviewresult->fetch_assoc()) {
    $interviewtracker_list[] = $interviewdata;
}

echo "<pre>".print_r($interviewtracker_list,1)."</pre>";

This gives a repeat of an item: 这会重复一个项目:

Array
(
    [0] => Array
        (
            [id] => 4041
            [title] => Interview: Blaat.nl
            [date_posted] => 2014-05-01 10:13:09
            [wanneer] => 01-05
            [slug] => interview-blaat-nl
        )

    [1] => Array
        (
            [id] => 4041
            [title] => Interview: Blaat.nl
            [date_posted] => 2014-05-01 10:13:09
            [wanneer] => 01-05
            [slug] => interview-blaat-nl
        )

    [2] => Array
        (
            [id] => 4041
            [title] => Interview: Blaat.nl
            [date_posted] => 2014-05-01 10:13:09
            [wanneer] => 01-05
            [slug] => interview-blaat-nl
        )

)

But i want to have a array like this: 但我希望有这样的数组:

Array
(
    [0] => Array
        (
            [id] => 4041
            [title] => Interview: Blaat.nl
            [date_posted] => 2016-05-01 10:13:09
            [wanneer] => 01-05
            [slug] => interview-blaat-nl
        )

    [1] => Array
        (
            [id] => 4042
            [title] => Interview: Yaddah Yaddah
            [date_posted] => 2016-05-10 22:53:49
            [wanneer] => 01-05
            [slug] => interview-yaddah-yaddah
        )

    [2] => Array
        (
            [id] => 4043
            [title] => Interview: Pete Puck
            [date_posted] => 2016-10-07 21:13:08
            [wanneer] => 01-05
            [slug] => interview-pete-puck
        )

)

How can i do this? 我怎样才能做到这一点?

Look at this line inside your while loop, 看看while循环中的这一行,

$interviewtracker_list[] = $interviewdata;
                                  ^ look here

In each iteration of the loop you're pushing the same data to the array. 在循环的每次迭代中,您将相同的数据推送到数组。 Your code should be like this: 你的代码应该是这样的:

$interviewresult = $db->query($interviewsql);
$interviewtracker_list = array();
while($interviewdata = $interviewresult->fetch_assoc()){
    $interviewdata['slug'] = $slug->create($interviewdata['title']);
    $interviewtracker_list[] = $interviewdata;
}

// display $interviewtracker_list array
var_dump($interviewtracker_list);

Be simple. 简单。

Get result, iterate it, and change or add field inside of loop: 获取结果,迭代它,并在循环内更改或添加字段:

$interviewresult = $db->query($interviewsql);
while($interviewdata = $interviewresult->fetch_assoc()) {
    $interviewdata['slug'] = $slug->create($interviewdata['title']);
    $interviewtracker_list[] = $interviewdata;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM