【问题标题】:Why my code generate at the and the arrays of keys: "0"为什么我的代码在键和数组中生成:“0”
【发布时间】:2017-07-25 00:08:41
【问题描述】:

我从 xml 创建了一个缓存,并通过构造生成了最终成为数组的对象。如果这些数组的键不是“0”,一切都会好起来的。我不知道它是如何工作的。我搜索了如何更改类或如何替换键的信息。我被困住了。你能帮我解决这个问题吗?

    $xml = simplexml_load_file($cache);
}

class  Property {
    public $xmlClass;
    public $elemClass = '';
    public $result_array = [];
    public $data = '';
 public function __construct($xml,$elem) {
    $this->xmlClass=$xml;
    $this->elemClass=$elem;

  foreach($xml->list->movie as $value) {
    $data = $value->$elem;
    $this->result_array[] = $data;
  }
}
public function getResult() {
    return $this->result_array;
}
}

 $result_zn = new Property($xml,'zn');
 $result_au = new Property($xml,'au');
 $result_ti = new Property($xml, 'ti');



 $zn = $result_zn->getResult();
 $au = $result_au->getResult();
 $ti = $result_ti->getResult();

【问题讨论】:

  • 这个问题不清楚
  • 一切正常,但这段代码(构造函数)生成的数据中我有键=“0”。这就是当我尝试捕获这些数据并在之后使用它时看到的。这是不可能的。
  • 不清楚你的意思。
  • 您能否展示一个在获取所需数据时遇到问题的代码示例。最后你应该可以做到$zn[0]$zn[1]等。

标签: php arrays xml


【解决方案1】:

我认为你可以使用函数 array_values() 来获取密钥 0,如下所示:

$arr = array(
        '1' => 'cat',
        '2' => 'dog'
    );
$newarr = array_values($arr);
print_r($newarr);

结果是:

Array ( [0] => cat [1] => dog )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多