array_combine创建hinky数组

时间:2013-02-23 05:21:04

标签: php arrays

我正在使用codeigniter创建一个小型scraper,它使用PHP Simple HTML DOM Parser库从另一个站点获取一些信息。我首先构建两个数组 - 第一个用作键,另一个数组用作值。

在我尝试使用键取出值之前,似乎一切正常。

这是我的阵列:

Array
(
    [price] => $1,020,000
    [city] => CHICAGO
    [zip] => 60622
    [state] => ILL
    [mls] => 08207131
    [type] => Apartment
    [square_ft] =>  
    [year_built] => U
    [beds] => 4
    [baths] => 2
    [subdivision] =>  
    [area] => CHI - West Town
    [township] => NORTH CHICAGO
)

如果我尝试像这样访问数组:

echo $info['price']."</br>";

我收到“未定义的索引:价格”错误。

如果我尝试访问这样的信息:

echo $info->price;

我得到了“试图获取非对象的属性”错误。

在有问题的数组上使用print_r()时我注意到的一件事是键显示为粗体文本,当我构建测试数组时,键显示为普通文本。我的问题是粗体文本是否表示应该以特殊方式或其他方式格式化键?

2 个答案:

答案 0 :(得分:0)

echo $info['price']."</br>";  // for array

echo $info->price;  // for object

$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);

echo $c['green'];  // output 'avocado'

示例http://codepad.viper-7.com/BkT5U8

答案 1 :(得分:0)

- Barmar回答了以下问题:

我怀疑粗体输出意味着键包含HTML标签,即它实际上类似于$ info [' price ']。当您从其他站点处理DOM时,需要删除标记。