Предположим у вас есть вот такой объект:
{
"items": [
{
"id": 1,
"name": "New"
},
{
"id": 2,
"name": "Applied"
}
]
}
И вы пробуете найти элемент с
name в значении «Новый» и потом печатаете найденный элемент. Вот так:$key = array_search("Новый", array_column( $data->items, 'name' ))
echo $data['items'][$key]
Вопрос: что напечатается в echo?
Правильный ответ: первый элемент массива. И в доке это поведение описано:
array_search — Searches the array for a given value and returns the first corresponding key if successful
array_search верёт false. false приведётся к 0 и получится
$data['items'][0].Да, есть параметр strict, но с уточнением про тип данных. Дальше идут примечания, ворнинги и куча комментов, где ребята делятся, как правильно юзать array_search.
Я что, избалован питоном и го? Почему мне это кажется плохим дизайном?