Пролистав массив Объектов, и, войдя в значение


добрый день личный, я с трудом, куда нужно получить доступ к элементу массива ОБЪЕКТОВ, я не в состоянии получить доступ с помощью foreach или for. Мне нужна помощь от вас, ребята!

массив объектов:

Array
(
    [0] => stdClass Object
        (
            [pk] => 1343200701115549070
        )

    [1] => stdClass Object
        (
            [pk] => 1339248324134135231
        )

    [2] => stdClass Object
        (
            [pk] => 1338844272896371640
        )

    [3] => stdClass Object
        (
            [pk] => 1338841774089501872
        )

    [4] => stdClass Object
        (
            [pk] => 1338838365890273563
        )

Мне нужно получить все значения "pk", чтобы положить в другой переменной. Чтобы дополнить объяснение, этот массив представляет собой файл в json_encode, куда я открываю файл и стал в json_decode:

$file = new SplFileObject($caminho);
        while (!$file->eof()) {
           $id_line1 = $file->fgets();
        }
        $id_line = json_decode($id_line1);

) обнимаю!!

Author: Felippe Longo, 2016-10-11

3 answers

С этой итерации, вы принимаете содержимое key:

foreach ($array_de_objetos as $key => $value){
    echo $value->pk;
}
 6
Author: Pablo Martins, 2016-10-11 14:37:55
// Foreach creates a copy

$array = [
  "foo" => ['bar', 'baz'],
  "bar" => ['foo'],
  "baz" => ['bar'],
  "batz" => ['end']
];

// while(list($i, $value) = each($array)) { // Try this next
foreach($array as $i => $value) {
  print $i . "\n";
  foreach($value as $index) {
    unset($array[$index]);
  }
}

print_r($array); // array('baz' => ['end'])

Имеется объект интерпретируется в списке, что делает доступ становится более сложным, убедитесь, что вы понимаете, как получить доступ к этой переменной за пределами массива, и сделайте то же самое в массиве. Этот пример здесь показывает массив внутри массива, и coo правильно выполнить петлю.

 1
Author: Lucas Rodrigues Sena, 2016-10-11 14:02:40

Я вижу код, где переменная взаимодействия будет $id_line:

    $file = new SplFileObject($caminho);
    while (!$file->eof()) 
    {
        $id_line1 = $file->fgets();
    }
    $id_line = json_decode($id_line1);

   foreach($id_line as $line)
   {
     $textoPK = $line->pk;
   }
 0
Author: novic, 2016-10-11 14:13:23