我有以下代码:
<?php
$attr_data = array();
foreach ($content->search as $attributeSelected)
{
$attr_data[] = $attributeSelected['id'];
}
?>这会将数据保存为:
Array (
[0] => SimpleXMLElement Object ( [0] => 23914175_laptop )
[1] => SimpleXMLElement Object ( [0] => 23914175_laptop )
[2] => SimpleXMLElement Object ( [0] => price_range_10_50004 )
) 但是,我只想要数组数据,而不包括"SimpleXMLElement对象“。因此,我添加了以下代码:
<?php
$attr_data = array();
foreach ($content->search as $attributeSelected)
{
$attr_data[] = json_decode(json_encode($attributeSelected['id']), true);
}
?>现在给我的数据如下:
Array (
[0] => Array ( [0] => 23914175_laptop )
[1] => Array ( [0] => 23914175_laptop )
[2] => Array ( [0] => price_range_10_50004 )
) 我不知道我做错了什么。我只想将数据保存到数组中,然后使用If语句检查数组是否包含特定的数据。
发布于 2013-12-31 13:12:22
不如:
$attr_data[] = $attributeSelected['id'][0];发布于 2013-12-31 13:12:49
您正在尝试存储对象,如果需要对象的第一个值,则应将第三行更改为:
$attr_data[] = $attributeSelected['id']->0;发布于 2014-01-01 16:35:29
请添加XML片段,它使事情变得更加清晰。
将值键入到string
$xml = simplexml_load_string($x); // assume XML in $x
$att = array();
foreach ($xml->search as $a) {
$att[] = (string)$a['id'];
}看到它的作用:http://codepad.viper-7.com/P0DI0S
https://stackoverflow.com/questions/20857863
复制相似问题