подскажите, как лучше всего выполнить поиск по данному массиву. Поиск значения "name". Если "name" совпадает, то выводить id
"array": {
"1027": {
"id": 1,
"name": "Value1",
},
"1027": {
"id": 2,
"name": "Value2",
},
Решение:
function find($arr, $name)
{
$found = [];
foreach($arr as $elem)
{
if($elem["name"] == $name)
$found[] = $elem["id"];
}
return $found;
}
Использование:
$arr = [
"1027" => [
"id" => 1,
"name" => "Value1",
],
"1028" => [
"id" => 2,
"name" => "Value2",
],
"1029" => [
"id" => 3,
"name" => "Value1",
]
];
var_dump(find($arr, 'Value1')); // array(2) { [0]=> int(1) [1]=> int(3) }
var_dump(find($arr, 'sss')); // array(0) { }
Если это действительно массив, то можно воспользоваться одной из php-функций для работы с массивами, и проверять по условию значение текущего элемента:
$arr = [
"1027" => [
"id" => 1,
"name" => "Value1",
],
"1028" => [
"id" => 2,
"name" => "Value2",
],
"1029" => [
"id" => 3,
"name" => "Value1",
]
];
$need = 'Value1';
array_walk($arr, function($it)use($need){
$need != $it['name'] ?: print $it['id'] . '<br>';
});
Результат:
1
3
$data_array = array("1027" => array ( "id" => "1", "name" => "Value1"),
"1028" => array ( "id" => "2", "name" => "Value2")
);
$name = "Value1";
foreach($data_array as $DA){ //Проходим цыклом по елементам масива
if($DA[name] == $name){ // Если запись name в масиве соответствует переменной $name то выводим айди записи
echo $DA[id];
}
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей