【问题标题】:How to add link in to array value ?如何将链接添加到数组值?
【发布时间】:2014-05-21 15:49:31
【问题描述】:

有什么简单的方法可以创建具有额外价值的新数组吗?

$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>')
);

【问题讨论】:

    标签: php arrays json loops moodle


    【解决方案1】:
    foreach($table->data as &$arr){
      array_push($arr, '<a href="more.php">View</a>');
    }
    

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

    要回答您的评论,可以这样做

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

    这假定您要更改的值始终是数组中的第一个元素。如果是这样的话,那么你的设置。如果不是,答案看起来很相似,但您需要进行额外检查。

    【讨论】:

    • 非常感谢您的快速回复。我可以在foreach 之后试试这个print_r($table-&gt;data) 吗?
    • 确定你可以尝试任何你想要的
    • 不幸的是,尝试这个print_r($table-&gt;data);时没有显示任何变化
    • 尝试这个时只显示一个数组print_r($arr);
    • sry,我忘了将 $arr 设为引用,请参阅更新后的答案,&amp; 前面加上 $arr 循环将使用引用而不是值,因此更改应该在循环
    猜你喜欢
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 2016-10-15
    • 2018-11-01
    • 1970-01-01
    • 2020-02-14
    相关资源
    最近更新 更多