Фильтровать значения из массива в PHP

0

Я хотел бы отфильтровать значения [name] из приведенного ниже массива.

Array
(
    [0] => Array
        (
            [name] => tags1
        )

    [1] => Array
        (
            [name] => tag2
        )

    [2] => Array
        (
            [name] => tag3
        )
)

Как это сделать?

Показать ещё 1 комментарий
Теги:
arrays

3 ответа

0
Лучший ответ

Если вы ищете простое решение, вы можете использовать цикл foreach:

foreach($array as $row){
    echo $row['name'];
}
  • 0
    Это здорово, спасибо. Как я могу превратить результат из цикла в новый массив? (все найденные ['name'] значения в одном массиве)
  • 1
    вместо echo напишите $ result [] = $ row ['name']. Это добавит новое значение в массив $ result. Конечно, перед foreach положите $ result = array ();
Показать ещё 1 комментарий
1

Если вы просто хотите получить все значения name в массиве:

PHP> = 5.5.0, необходимый для array_column() или использовать реализацию PHP array_column()

$names = array_column($array, 'name');
  • 0
    Спасибо, я имею это в виду. К сожалению, мой сервер работает только 5.3 в данный момент.
0

Я думаю, вы хотите, чтобы вы могли фильтровать свой выходной массив по определенному имени? Эта функция вернет массив, который имеет только субарей, который имеет совпадающее "имя",

function getspecificname($thisarray,$thisname){
    $arraytoreturn=array();
    foreach($thisarray as $onearray){
        if($onearray['name']==$thisname){
            $arraytoreturn[]=$onearray;
        }
    }
    return $arraytoreturn;
}

$myfilteredarray=getspecificname($yourarray,'tag2');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню