2014-05-21 60 views
2

有没有简单的方法来创建具有额外价值的新数组?如何添加链接到数组值?

$table->data = array(
    array('Harry Potter', '76%', 'Getting better'), 
    array('Rincewind', '89%', 'Lucky as usual'), 
    array('Elminster Aumar', '100%', 'Easy when you know everything!') 
); 

结果期待这样

$table->data = array(
    array('Harry Potter', '76%', 'Getting better', '<a href="more.php">View</a>'), 
    array('Rincewind', '89%', 'Lucky as usual', '<a href="more.php">View</a>'), 
    array('Elminster Aumar', '100%', 'Easy when you know everything!', '<a href="more.php">View</a>') 
); 

回答

4
foreach($table->data as &$arr){ 
    array_push($arr, '<a href="more.php">View</a>'); 
} 

注意&前置到$arr。这告诉循环为每次迭代使用引用,而不是值。这样,当循环退出时,您的数组将保持您想要的方式进行修改。

为了回答您的评论,像这样的工作

foreach($table->data as &$arr){ 
    $arr[0] = '<a href="more.php">' . $arr[0] . '</a>'; 
} 

这是假定你想改变值将始终是数组的第一个元素。如果是这样的话,那么你的设置。如果答案不一样,但您需要额外的支票。

+0

非常感谢您的快速回复。 我可以在'foreach'后试试'print_r($ table-> data)'吗? – Muhammed

+0

确定你可以尝试任何你想要的东西 – celeriko

+0

不幸的是,当尝试这个'print_r($ table-> data)时,它不会显示任何改变;' – Muhammed