PHP快速访问一个数组中的值,该数组包含对象的一个元素有一个数组

PHP快速访问一个数组中的值,该数组包含对象的一个元素有一个数组,php,arrays,object,associative,Php,Arrays,Object,Associative,我有一个存储关联数组的对象 这些对象包括 class mainObj { public $name = 0; public $address = ''; public $someArray = array(); } 这些对象存储在一个数组中 objArray[] = obj1; objArray[] = obj2 我的问题是: 如何才能最好且轻松地访问对象内部的关联数组的键和值(该数组本身存储在另一个数组中) 我可以通过迭代得到键和值 for ($i=0; $i<count($

我有一个存储关联数组的对象

这些对象包括

class mainObj {
public $name = 0;
public $address = '';
public $someArray = array();
    }
这些对象存储在一个数组中

objArray[] = obj1;
objArray[] = obj2
我的问题是: 如何才能最好且轻松地访问对象内部的关联数组的键和值(该数组本身存储在另一个数组中)

我可以通过迭代得到键和值

for ($i=0; $i<count($objArray); $i++)
{
$tempArray = $objArray[$i]->someArray;
    foreach ($tempArray as $key => $value) 
    {
        echo "Key: $key; Value: $value\n";
    }
   }
用于($i=0;$i数组;
foreach($tempArray作为$key=>$value)
{
echo“Key:$Key;Value:$Value\n”;
}
}
在这个阶段,将对象重新写入数组可能太麻烦了

在PHP中,是否有更快的方法从存储关联数组的对象数组中访问关联数组键和值

感谢您提前回复。。。
Marv在本例中,我将在mainObj类中创建一个getter方法,如下所示:-

class mainObj
{
    public $name = 0;
    public $address = '';
    public $someArray = array(1 => 'one' ,2 => 'two', 3 => 'three', 4 => 'four');

    public function getSomeArray()
    {
        return $this->someArray;
    }
}
然后,您可以非常轻松地访问
$someArray
:-

$obj1 = new mainObj();
$obj1->name = 1;

$obj2 = new mainObj();
$obj2->name = 2;

$obj3 = new mainObj();
$obj3->name = 3;

$objArray = array($obj1, $obj2, $obj3);

foreach($objArray as $obj){
    echo "Object: {$obj->name}<br/>\n";
    foreach($obj->getSomeArray() as $key => $value){
        echo "Key: $key , Value: $value<br/>\n";
    }
}

以下内容符合您的要求:

foreach ($objArray as $key => $value){
    foreach ($value->someArray as $key => $value){
        echo "Key: $key; Value: $value\n";
    }
}
但是,这是假设结构如下所示。如果结构不同,则需要尝试稍微不同的方法:

Array
(
    [0] => mainObj Object
        (
            [someArray] => Array
                (
                    [0] => 3
                    [1] => 4
                    [2] => 5
                )
        )
    [1] => mainObj Object
        (
            [someArray] => Array
                (
                    [0] => 6
                    [1] => 7
                    [2] => 8
                )
        )
    [2] => mainObj Object
        (
            [someArray] => Array
                (
                    [0] => 9
                    [1] => 20
                    [2] => 11
                )
        )
)

$objArray[$i]->someArray[$key]
?如果这个问题冒犯了你,很抱歉……也许我可以把这个问题的措辞稍微好一点……我在发布问题之前尝试了你的建议,但它没有给我数组的键或值,这就是为什么我首先提出这个问题的原因。你可以实现@hek2mgl-你能轻松一点吗?他说显示了丰富的编程经验。
Array
(
    [0] => mainObj Object
        (
            [someArray] => Array
                (
                    [0] => 3
                    [1] => 4
                    [2] => 5
                )
        )
    [1] => mainObj Object
        (
            [someArray] => Array
                (
                    [0] => 6
                    [1] => 7
                    [2] => 8
                )
        )
    [2] => mainObj Object
        (
            [someArray] => Array
                (
                    [0] => 9
                    [1] => 20
                    [2] => 11
                )
        )
)