Поиск по всему массиву, и вывод значения

237
10 мая 2018, 06:23

подскажите, как лучше всего выполнить поиск по данному массиву. Поиск значения "name". Если "name" совпадает, то выводить id

    "array": { 
        "1027": { 
            "id": 1,  
            "name": "Value1",  
        }, 
        "1027": { 
            "id": 2,  
            "name": "Value2",  
        }, 

Answer 1

Решение:

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) { }
Answer 2

Если это действительно массив, то можно воспользоваться одной из 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
Answer 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]; 
    } 
}

READ ALSO
imagick текст по центру

imagick текст по центру

Подскажите как с помощью imagick сделать чтобы текст по мере кол-ва символов делал отступ вверх и внизДля примера представим прямоугольник в картинке,...

235
Интерполяция на PHP

Интерполяция на PHP

Найдена функция на другом ЯП и исправлена под ситаксис php

265
PHP подключение к socks5 прокси через curl

PHP подключение к socks5 прокси через curl

Пытаюсь подключиться к socks5 прокси через curl, однако получаю ответ SOCKS : authentication failedПопробовал подключиться к прокси-серверу через скрипт Powershell...

250
Надежный вызов ping6 из php

Надежный вызов ping6 из php

Для IPv4 есть Net_ping

226