我有一个PHP对象。对象中的一个值是在数组中。我试图让foreach只是读取对象中的数组,但它似乎没有工作。
PHP:
foreach ($object->ArrayName as $value) {
echo $value;
}
有没有办法做到这一点?
答案 0 :(得分:0)
使用 is_array($ OBJ) 验证它是否是一个数组。
答案 1 :(得分:0)
你说你的php对象包含数组,因此你需要像这样使用2个foreach循环。
<?php
foreach($object->ArrayName as $value) {
foreach($value as $item) {
echo $item;
}
}
?>
答案 2 :(得分:0)
好吧,如果你有一个对象,但你不知道哪个属性是一个数组,你需要抓住它们并验证它们是否是一个数组:
// get each value of the object and call it as property
foreach(get_object_vars($object) as $property) {
// if this property is an array...
if (is_array($property) {
// ... access to every value of that array
foreach($property as $value) {
// $property is your array and $value is every value
// here you can execute what you need
}
}
}
答案 3 :(得分:-1)
如果循环位于类中的对象内,则使用$this
代替:
foreach ($this->ArrayName as $value) {
echo $value;
}