php - foreach 只查找数组的最后一个元素

标签 php arrays foreach simple-html-dom

我试图获取数组的所有值,但我只获取了最后一个元素。

(最后的描述和最后的链接)。

代码如下:

$content = str_get_html($html);
$links = $content->find('.myclass a');

foreach($links as $k => $v)
{
    $descr= $v-> plaintext;
    $link_to= $v->href;

    $a=array( 
            1 => $descr, 
            2 => $link_to);
}

return a$;

如何循环整个数组?

最佳答案

您在每个循环中覆盖同一个数组。您需要添加另一个维度:

$content = str_get_html($html);
$links = $content->find('.myclass a');

$a = array();
foreach($links as $k => $v) {
    $descr = $v->plaintext;
    $link_to = $v->href;

    $a[] = array(1 => $descr, 2 => $link_to);
    // ^ add another dimension

    // DONT USE THIS! You are overwriting it every loop
    // $a = array(1 => $descr, 2 => $link_to);
}

// return a$; ? a$ maybe `$a`

关于php - foreach 只查找数组的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26467149/

相关文章:

java - 新手遇到数组问题

java - Java中从ArrayList中删除对象

php - 如何在 Symfony2 中为特定页面使用 css 文件?

php - 如何在 PHP 中捕获包含文件中的语法错误?

c++ - C++结构中的运行时大小的数组

powershell - 在工作流内部调用工作流

mysql - 异步 waterfall 中带有 Mysql 连接池的 ForEach 函数

php - 仅比较来自数据库 Timestamp Laravel 的日期

javascript - 如何将 PHP 代码写入 JavaScript/Ajax?

c# - 反转字符串数组的元素