【问题标题】:2D Array isn't storing and displaying data PHP二维数组不存储和显示数据 PHP
【发布时间】:2020-03-11 06:27:33
【问题描述】:

我正在制作一个数组 Elements,它的每个索引都包含另一个数组 Item,但是这个 item 数组没有存储到 Elements 中,因此它没有显示。 请帮忙。

$item = array();
$elements[] = array();

foreach($html->find('div.jobsearch-SerpJobCard') as $element)
{ 
    $item['title']     = $element->find('div.title', 0)->plaintext;
    $item['salaryText']     = $element->find('span.salaryText', 0);
    $item['summary']     = $element->find('div.summary', 0)->plaintext;
    $elements[]= $item;
}

foreach($elements as $k=>$v)
{
    array_splice($v, 1,1);
    $array[$k] = $v;
    print_r($array[$k]);
}

【问题讨论】:

  • 尝试从$elements[] = array(); 中删除[]。您将一个空数组传递给0 索引,并且您没有以这种方式将$elements 声明为数组数据类型
  • 请您 edit 您的问题包含示例输入(替换 $html->find('div.jobsearch-SerpJobCard') 以便我们测试代码)、当前代码给出的输出以及您想要的输出.

标签: php arrays multidimensional-array


【解决方案1】:

也许你可以尝试数组推送或放置索引

https://www.php.net/manual/en/function.array-push.php

<?php
    //Enter your code here, enjoy!

$jobsearch = array(
    0 => array(
        "title" => "ceo",
        "salary" => 5000,
        "summary" => "high"
        ),
     1 => array(
        "title" => "cto",
        "salary" => 4000,
        "summary" => "low"
        ),
     2 => array(
        "title" => "cio",
        "salary" => 4500,
        "summary" => "medium"
        )
); // example data

$item=array();
$elements[]=array();
foreach($jobsearch as $k => $element)
{
 $item['Ititle'] = $element['title'];
 $item['Isalary']  = $element['salary'];
 $item['Isummary'] = $element['summary'];
 $elements[$k] = $item;


}
var_dump($elements); // got output

【讨论】:

  • 试过了。不工作。它没有显示任何内容
  • 有任何示例数据供我们测试吗?
  • 其实我确实在刮。您可以在数组中添加任何虚拟值
  • 你在执行代码时是否显示错误?可能是打印部分出了问题。
  • 不,它不会显示错误。我也在使用 var_dump 但那也是空的。
【解决方案2】:

从$elements[]中移除[] = array();

它在 $elements 数组的 0 索引处创建一个空数组。

【讨论】:

    猜你喜欢
    • 2017-05-04
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 2021-07-06
    相关资源
    最近更新 更多