У меня есть массив вроде
Array ( [0] => stdClass Object ( [id] => 1 [org_name] => name [field_name] => fullname [new_name] => Name [index] => 3 [modified] => 2016-05-17 10:45:17 ) [1] => stdClass Object ( [id] => 3 [org_name] => reception_no [field_name] => reception_no [new_name] => Reception No. [index] => 1 [modified] => 2016-05-17 10:45:17 ) [2] => stdClass Object ( [id] => 4 [org_name] => pno [field_name] => pno [new_name] => Personel No. [index] => 0 [modified] => 2016-05-17 10:45:17 )
и я хочу, например, где у объекта есть «pno» получить значение «index» в этом примере, например «0», возможно ли это сделать?
foreach ($arr as $items) { if ($items->org_name=='pno') $index=$items->index; }
Поскольку я спрашиваю вас о pno
, я думаю, что это был первый индекс, такой как 0,1,2 …, но после некоторого разговора ясно, что он находится внутри подмассива.
Итак, вам нужен цикл здесь и проверьте pno
, если он совпадает, а затем pno
индекс. Пусть ваш массив $array
foreach ($array as $key => $val){ if($val->org_name == 'pno'){ echo $index = $val->index; break; } }
да можно попробовать это
var_dump($arr[0]->index);
ИЛИ
print_r($arr->index['0']);
Вы можете использовать array_search
$key1 = array_search('pno', array_column($your_array, 'field_name')); $key2 = array_search('pno', array_column($your_array, 'org_name'));
Используйте array_search, так как вы можете не знать индекс
array_search
Протестировано с помощью ур-массива
$array = array( array('id'=>1,'org_name'=>'name','field_name'=>'fullname','new_name'=>'Name','index'=>3,'modified'=>'2016-05-17 10:45:17'), array('id'=>3,'org_name'=>'reception_no','field_name'=>'reception_no','new_name'=>'Reception No.','index'=>1,'modified'=>'2016-05-17 10:45:17'), array('id'=>4,'org_name'=>'pno','field_name'=>'pno','new_name'=>'Personel No.','index'=>0,'modified'=>'2016-05-17 10:45:17') );
Этот код должен делать то, что хотите
$index = ''; foreach($array as $key => $value) { if($value['org_name']=='pno') { $index = $value['index']; } } print $index;
Только сценарий. Циклы через ur Array и устанавливает индекс $ index на последнем найденном pno
индекса pno
U может проверять $ index в IF, если ist пуст.