Articles of массивов

PHP, как фильтровать массив, который содержит что-то?

хорошо я искал некоторые функции, и мне, кажется, не повезло найти какие-либо, Я хочу фильтровать массив для выделения определенного массива, который содержит некоторую строку Вот пример: $array = array(1 => 'January', 'February', 'March'); $to_remove = "Jan"; // or jan || jAn, .. no case sensitivity $strip = somefunction($array, $to_remove); print_r($strip); он должен вернуться [1] => […]

Сортировка ассоциативного массива по значению в порядке убывания и сохранения, когда значения одинаковы

Я хочу сортировать ассоциативный массив, и есть встроенная функция для достижения такого же результата. arsort() , но проблема с этой функцией заключается в том, что она не поддерживает исходный порядок клавиш, когда значения одинаковы. например $l = [ 'a' => 1, 'b' => 2, 'c' => 2, 'd' => 4, 'e' => 5, 'f' => […]

Есть ли простой способ читать имена файлов в каталоге и добавлять в массив?

У меня есть каталог: Audio/ и в этом будут только файлы mp3. Я хочу автоматизировать процесс создания ссылок на эти файлы. Есть ли способ прочитать каталог и добавить имена файлов в этом каталоге в массив? Было бы вдвойне здорово, если бы мы могли создать ассоциативный массив, и ключ должен быть именем файла минус тег .mp3. […]

PHP – создание многоуровневого ассоциативного массива из базы данных (сортировка городов по состоянию из db)

Я несколько новичок в php, и в последние несколько часов мне громыхал мозг, пытаясь понять это. Мне нужно сортировать города по штатам из базы данных. Я использовал следующий запрос для извлечения набора данных: SELECT state, city FROM table ORDER BY state ASC, city ASC Это показывает мне информацию, которая мне нужна, когда я запускаю ее […]

Найти дубликаты в массиве объектов на основе определенных ключей

моя цель – найти дубликаты в массиве объектов, но только для конкретных объектных переменных. Вместо того, чтобы использовать две петли foreach, такие как следующие, я ищу лучший (более элегантный) способ найти дубликаты: foreach ($data as $date) { foreach ($data as $innerDate) { if ($date->birthday == $innerDate->birthday && $date->street == $innerDate->street && $date->streetnr == $innerDate->streetnr && […]

Сравните два ассоциативных массива относительно порядка ключей

Предположим, мы имеем 2 ассоциативных массива: <?php $array1 = array( 1 => 2, 2 => 1, ); $array2 = array( 2 => 1, 1 => 2, ); Они содержат одни и те же элементы, но в другом порядке. Я хотел написать функцию сравнения, которая даст true, только если: Массивы имеют одинаковые пары ключей => значение. […]

Есть ли у PHP операция peek?

Я хотел бы заглянуть в первый элемент массива. Эта операция будет эквивалентна этому коду: function peek($list) { $item = array_shift($list); array_unshift($list, $item); return $item; } Этот код мне кажется очень тяжелым, и быстрый просмотр часто предоставляется библиотеками очереди и стека. У php есть уже построенная функция или более эффективный способ сделать это? Я искал php.net, […]

Получение одного значения из сериализованного массива в PHP

Что бы вы сказали, это самый эффективный способ получить одно значение из массива. Я знаю, что это, я знаю, где это. В настоящее время я делаю это с: $array = unserialize($storedArray); $var = $array['keyOne']; Интересно, есть ли лучший способ.

Разделить строку на массив букв – двузначные буквы PHP

Мне нужно разбить строку на массив букв. Проблема в том, что на моем языке (хорватском) есть буквы с двумя символами (например, lj, nj, dž). Поэтому строка, такая как ljubičicajecvijet должна быть разделена на массив, который будет выглядеть так: Array ( [0] => lj [1] => u [2] => b [3] => i [4] => č […]

PHP: объединить / добавить многомерный массив?

Скажем, у меня есть несколько многоразмерных массивов с такой же структурой: $basketA['fruit']['apple'] = 1; $basketA['fruit']['orange'] = 2; $basketA['fruit']['banana'] = 3; $basketA['drink']['soda'] = 4; $basketA['drink']['milk'] = 5; $basketB['fruit']['apple'] = 2; $basketB['fruit']['orange'] = 2; $basketB['fruit']['banana'] = 2; $basketB['drink']['soda'] = 2; $basketB['drink']['milk'] = 2 Мне нужен способ слить их таким образом, чтобы я получил это: $basketC['fruit']['apple'] = 3; […]