如何将键放入数组?

时间:2017-08-11 03:04:31

标签: php arrays key

我正在从某个网站上删除详细信息。然后我想将HTML解析为PHP数组。

我想像这样显示数组。我需要添加密钥,以便我可以轻松确定将来要使用的数据。

check_admin

这是我的代码:

[info] => Array
    (
        [0] => info1
        [1] => info2
    )

但输出会告诉我:

$hk = array('info');
foreach($html->find('div[id="home"] div[id="topinfo"] p') as $home) {
    $hometps[] = $home->plaintext;
}
print_r(array_fill_keys($hk,$hometps));

2 个答案:

答案 0 :(得分:0)

数组元素不能独立存在。考虑到您希望info作为索引,它必须是数组的一部分。 如果您想要可用的信息列表,请将它们分配给$info变量,并在print_r($ info)时,如下所示:

$info = array();
foreach($html->find('div[id="home"] div[id="topinfo"] p') as $home) {
    $info[] = $home->plaintext;
}
print_r($info);

你会得到:

Array
    (
        [0] => info1
        [1] => info2
    ) 

答案 1 :(得分:0)

看起来您可能正在尝试重命名数组中的表示值,也称为'键'我猜。我建议在进入foreach时直接对html的输出执行此操作。这应该可以解决你的问题。它看起来像这样(底部的原始示例):

$hk = array('info');
foreach($html->find('div[id="home"] div[id="topinfo"] p') as $hk => $home) {
$hometps[] = $home->plaintext;
}
print_r($hometps);


foreach (array_expression as $key => $value)
    statement

第一个表单循环遍历array_expression给出的数组。在每次迭代中,当前元素的值被赋值为$ value,内部数组指针被提前一个(因此在下一次迭代中,您将查看下一个元素)。

第二种形式还会在每次迭代时将当前元素的键分配给$ key变量。

PHP.net:foreach