у меня есть такой массив(как показано на картинке) Мне нужно находить данную по product_id
я пробывал сделать var_dump(array_search('55117',(array)$purchaseWizardTemp->getData()));
но мне возвращает false. будто он не видит его.
Как правильно написать код, чтобы он искал данную в двумерном массиве. Цыкл я пытаюсь избежать. Слишком долго!
Скорее всего должно быть так:
$key = array_search('55117', array_column($purchaseWizardTemp->getData(), 'product_id'));
array_column - Возвращает массив из значений одного столбца входного массива. То есть по указанному имени ключа находит значения. Ну а потом на основе них ищет уже в исходном массиве
Заметка: любые встроенные функции (array_search, array_column, array_map, array_filter и прочие) под капотом используют цикл. По-другому просто невозможно сделать операции над массивом.
Ну вы бы ускорили процесс если бы прочитали Вот это
Плюс у вас "product_id"
не совпадает с предложенным.
$array = [
0 => [
"id" => "1",
"product_id" => "54117"
],
1 => [
"id" => "2",
"product_id" => "53041"
]
];
foreach ($array as $arr){
var_dump(array_search('54117', $arr));
}
$arr=array(array("id"=>"2563", "product_id"=>"54117", "group_id"=>"2130","ргice"=>"112.18", "cost"=>"0","qty"=>"1","sold"=>"1","shortdesc"=>"Serial Number: К62АТ93285SТ Model: МН22160ВН Part Number:СА07018-В38400РМ Firmware: 0РРОЗО-00430009 Date: МАК 20О9 Product of: Тhailand!РСВ Revision: СА26344-В33104ВА","brand_template"=>"Fujitsu","model"=>"МН22160ВН 62","pn_hddcode_2ndmodel"=>"СА07018-В38400РМ","mlc_fw_sitecode_dcm"=>"","spec_3"=>"","spec_4"=>"","уеаг"=>"0","flg"=>"0"), array("id"=>"25630", "product_id"=>"541187", "group_id"=>"21030","ргice"=>"112.180", "cost"=>"01","qty"=>"13","sold"=>"14","shortdesc"=>"Serial Number: К62АТ93285SТ Model: МН22160ВН Part Number:СА07018-В38400РМ Firmware: 0РРОЗО-00430009 Date: МАК 20О9 Product of: Тhailand!РСВ Revision: СА26344-В33104ВА","brand_template"=>"Fujitsu","model"=>"МН22160ВН 62","pn_hddcode_2ndmodel"=>"СА07018-В38400РМ","mlc_fw_sitecode_dcm"=>"","spec_3"=>"","spec_4"=>"","уеаг"=>"1","flg"=>"1"));
$chery=count($arr);
for($i = 0; $i <= $chery-1; $i++) {
if (array_key_exists('product_id', $arr[$i])) {
if($arr[$i]['product_id']=='54117'){
echo 'Найдено';
}
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть код при наведении на объект появляется полеКак сделать так что бы поле появлялось при клике и не исчезало пока не кликнешь второй раз