- PHP пустой ключ в массиве
- 5 ответов
- Ещё вопросы
- php — How can I return the minimum key in an array?
- Solution:
- Answer
- Solution:
- Answer
- Solution:
- Answer
- Solution:
- Answer
- Solution:
- Share solution ↓
- Additional Information:
- Didn’t find the answer?
- Similar questions
- Write quick answer
- About the technologies asked in this question
- PHP
- Welcome to programmierfrage.com
- Get answers to specific questions
- Help Others Solve Their Issues
- php — How can I return the minimum key in an array?
- Solution:
- Answer
- Solution:
- Answer
- Solution:
- Answer
- Solution:
- Answer
- Solution:
- Share solution ↓
- Additional Information:
- Didn’t find the answer?
- Similar questions
- Write quick answer
- About the technologies asked in this question
- PHP
- Welcome to programmierfrage.com
- Get answers to specific questions
- Help Others Solve Their Issues
PHP пустой ключ в массиве
В PHP есть функция для нахождения наименьшего числового ключа без значения в массиве? У меня такой массив:
array ( 0 => 'nested array', 1 => 'nested array', 2 => 'nested array', 3 => 'nested array', 6 => 'nested array', 7 => 'nested array', )
и я хотел бы добавить значение к этому массиву (в 4 ), не обязательно уникальное, и вернуть его позицию без изменения остальных ключей. Является ли самый простой способ циклы через массив и test isset() , или есть более простой способ?
Сгенерируйте ключи, которые вы ожидаете, с range , затем найдите самый низкий пропущенный $expected_keys = range(0, count($your_array) — 1); $missing_keys = array_diff($expected_keys, array_keys($your_array)); return min($missing_keys);
5 ответов
Вы можете попробовать следующее найти минимальный ключ:
$arr = array ( 0 => 'nested array', 1 => 'nested array', 2 => 'nested array', 3 => 'nested array', 6 => 'nested array', 7 => 'nested array', ); // get a list of existing keys $keys = array_keys($arr); // get the min and max keys $min = min($keys); $max = max($keys); // get the missing keys by: // * creating a range from the existing min/max // *diff it from the list of actual keys $missing = array_diff(range($min, $max), $keys); // get the min missing key from the diff echo min($missing);
привет @salathe — я полагаю, вы обращаетесь к Шанкару с этим вопросом. Я не думаю, что это обязательно, есть больше, чем один способ снять шкуру с кошки 🙂 Я лично ничего не имею против петли, это всего лишь мой подход.
В PHP есть функция для нахождения наименьшего числового ключа без значения в массиве?
Является самым простым способом циклы через массив и test isset()
Looping в порядке, но isset() не будет лучшим выбором. Это может привести к ложному срабатыванию, если существует ключ массива, но содержит значение NULL . Лучшим выбором будет array_key_exists() .
В вашем случае цикл может быть таким же простым, как:
for ($key = 0; array_key_exists($key, $arr); $key++); var_dump($key);
или есть более простой способ?
См. Другие ответы, предлагающие альтернативы, которые могут быть или не быть проще.
Вы можете получить массив всех открытых ключей, используя range() и array_diff вместе с array_keys :
$array = array ( 0 => 'nested array', 1 => 'nested array', 2 => 'nested array', 3 => 'nested array', 6 => 'nested array', 7 => 'nested array', ); $array_keys = array_keys($array); sort($array_keys); $min_key = 0; $max_key = end($array_keys); $array_key_range = range($min_key, $max_key); $open_keys = array_diff($array_key_range , $array_keys);
Затем вы можете использовать первое значение в этом массиве как самое низкое или любое, если вы просто хотите найти открытый слот.
function find_empty($arr) < foreach(range(0,max(array_keys($arr))) as $i)< if(!array_key_exists($i, $arr))< return $i; >> return -1; >
$arr = array ( 0 => 'nested array', 1 => 'nested array', 2 => 'nested array', 3 => 'nested array', 6 => 'nested array', 7 => 'nested array', ); var_dump(find_empty($arr)); /** OUTPUT int 4 **/
Вы могли бы сделать что-то подобное. Я думаю, что это выглядит круто, но я бы этого не сделал, потому что он не очень эффективен:
$array = array(0 => 'x', 1 => 'x', 2 => 'x', 4 => 'x', 7 => 'x'); $indexes = array_keys($array); // 0, 1, 2, 4, 7 // sort($array, SORT_NUMERIC); $all_indexes = range($indexes[0], $indexes[count($indexes)-1]); // 0, 1, 2, 3, 4, 5, 6, 7 $missing_indexes = array_diff($all_indexes, $indexes); // 3, 5, 6 print_r($missing_indexes); $lowest = reset($missing_indexes); $highest = end($missing_indexes); var_dump($lowest, $highest);
Вы можете сжать его во многих меньших строках, если это ваша вещь.
Теперь у вас есть все недостающие данные индекса: сколько, которые, самые низкие, самые высокие, средние и т.д.
Я бы предпочел использовать min() и max() чтобы получить минимальное и максимальное значения (таким образом вам не нужна sort() ).
Ещё вопросы
- 0 Отказано в доступе при экспорте файла CSV из mySQL (MariaDB) в целевую папку
- 0 jQuery при нажатии prepend divs в начале «списка»
- 1 Потоковое приложение записывает повторяющиеся строки в файл журнала
- 0 Выбор элемента после использования children ()
- 1 java-связывание со свободной функцией c: как правильно освободить объект
- 0 Как разрешить дублирование идентификатора строки mysql в массиве?
- 0 Как сдвинуть байты, используя формат Big Endian вместо Little Endian в C ++?
- 1 Рабочий каталог при запуске в eclipse, cmd и jar
- 0 Зачем нужен $ timeout здесь?
- 0 почему изображение не занимает полную ширину в%?
- 1 Node.js fs.writeFile: err возвращает ноль
- 1 Как удалить последнюю строку в сетке с помощью WPF?
- 0 Замените тег другим тегом
- 0 Подавить часть конструктора по умолчанию?
- 0 Php dbase возвращает неверное количество столбцов
- 1 Вход на веб-страницу из Java
- 1 Разрешения камеры Android \ iOS — нет ответа от мобильного пользователя
- 0 используя дублированные переменные JavaScript
- 0 Ошибка при использовании STXXL Autogrow
- 1 Материал шейдера для управления памятью three.js
- 1 Предзаказ дерева обхода копия папки
- 0 как установить таймер в ppination php
- 0 Как использовать mysql после установки более старой версии mariadb через homebrew?
- 0 Ничего не загружается, когда хеш пуст с hashchange
- 0 Получить общее количество попаданий из полнотекстового поиска
- 1 Эрланг считает, что возраст?
- 0 Вставить несколько столбцов JSON в MySQL (используя API)
- 1 Как вы компилируете приложение фляги с Cython?
- 0 Проблемы с прототипированием структуры (неправильное использование неопределенного типа) c ++
- 1 Как сделать имена столбцов чувствительными к регистру Sqlite3 в Python?
- 0 использовать mysql для диагностики в другой процедуре
- 0 Как автоматически воспроизводить YouTube видео в HTML iframe в iphone
- 0 т.е. ответный текст не завершен
- 1 Рекурсивное чтение древовидной структуры XML в списке
- 1 Использование нескольких регулярных выражений в C # web crawler [duplicate]
- 0 Как стилизовать 4 сетки на странице, если на моих страницах более 4 сеток?
- 1 Преобразовать значения пикселей RGB в диапазоне в последовательные числа
- 0 Перетащите информацию таблицы?
- 0 Рекомендации JQuery: запускайте эффекты между элементами в последовательности
- 0 NumberFormatException: для входной строки: «XXX, XX» в TextField, связанной с локалью
- 1 Преобразовать ArrayList > в jsonArray
- 0 Глядя, чтобы округлить цифры в столбце [дубликаты]
- 1 Хранение содержимого таблиц из одного класса в другой класс в Java
- 1 Intellij IDEA сообщает «Не удается разрешить символ» в файлах .tml
- 1 Приложения от неизвестных разработчиков иногда могут быть небезопасными
- 0 Не работает подпапка движка приложения Google — PHP
- 1 Привязка элемента в дочернем представлении к свойству родительского ViewModel
- 1 рекурсивный алгоритм для файловой структуры для одного типа файла
- 0 Как независимые разработчики ПО скрывают свой объектный код, когда вы можете декомпилировать?
- 0 Простая почтовая функция не отправляет электронную почту с использованием PHP
php — How can I return the minimum key in an array?
Solution:
echo min(array_keys($arr));
Answer
Solution:
echo min(array_keys($arr));
min() is a php function that will return the lowest value of a set. array_keys() is a function that will return all keys of an array. Combine them to obtain what you want.
If you want to learn more about this two functions, please take a look to and
Answer
Solution:
use array_search() php function.
array_search(min($arr), $arr);
above code will print 200 when you echo it.
For echoing the value of lowest key use below code,
echo $arr[array_search(min($arr), $arr)];
Answer
Solution:
This also would be helpful for others,
'foo', 200 => 'bar'); $arr = array("0"=>array('price'=>100),"1"=>array('price'=>50)); //here price = column name echo minOfKey($arr, 'price'); function minOfKey($array, $key) < if (!is_array($array) || count($array) == 0) return false; $min = $array[0][$key]; foreach($array as $a) < if($a[$key] < $min) < $min = $a[$key]; >> return $min; > ?>
Answer
Solution:
$arr = array( 300 => 'foo', 200 => 'bar' ); $arr2=array_search($arr , min($arr )); echo $arr2;
Share solution ↓
Additional Information:
Didn’t find the answer?
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Similar questions
Find the answer in similar questions on our website.
Write quick answer
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.
About the technologies asked in this question
PHP
PHP (from the English Hypertext Preprocessor — hypertext preprocessor) is a scripting programming language for developing web applications. Supported by most hosting providers, it is one of the most popular tools for creating dynamic websites. The PHP scripting language has gained wide popularity due to its processing speed, simplicity, cross-platform, functionality and distribution of source codes under its own license.
https://www.php.net/
Welcome to programmierfrage.com
programmierfrage.com is a question and answer site for professional web developers, programming enthusiasts and website builders. Site created and operated by the community. Together with you, we create a free library of detailed answers to any question on programming, web development, website creation and website administration.
Get answers to specific questions
Ask about the real problem you are facing. Describe in detail what you are doing and what you want to achieve.
Help Others Solve Their Issues
Our goal is to create a strong community in which everyone will support each other. If you find a question and know the answer to it, help others with your knowledge.
php — How can I return the minimum key in an array?
Solution:
echo min(array_keys($arr));
Answer
Solution:
echo min(array_keys($arr));
min() is a php function that will return the lowest value of a set. array_keys() is a function that will return all keys of an array. Combine them to obtain what you want.
If you want to learn more about this two functions, please take a look to and
Answer
Solution:
use array_search() php function.
array_search(min($arr), $arr);
above code will print 200 when you echo it.
For echoing the value of lowest key use below code,
echo $arr[array_search(min($arr), $arr)];
Answer
Solution:
This also would be helpful for others,
'foo', 200 => 'bar'); $arr = array("0"=>array('price'=>100),"1"=>array('price'=>50)); //here price = column name echo minOfKey($arr, 'price'); function minOfKey($array, $key) < if (!is_array($array) || count($array) == 0) return false; $min = $array[0][$key]; foreach($array as $a) < if($a[$key] < $min) < $min = $a[$key]; >> return $min; > ?>
Answer
Solution:
$arr = array( 300 => 'foo', 200 => 'bar' ); $arr2=array_search($arr , min($arr )); echo $arr2;
Share solution ↓
Additional Information:
Didn’t find the answer?
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Similar questions
Find the answer in similar questions on our website.
Write quick answer
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.
About the technologies asked in this question
PHP
PHP (from the English Hypertext Preprocessor — hypertext preprocessor) is a scripting programming language for developing web applications. Supported by most hosting providers, it is one of the most popular tools for creating dynamic websites. The PHP scripting language has gained wide popularity due to its processing speed, simplicity, cross-platform, functionality and distribution of source codes under its own license.
https://www.php.net/
Welcome to programmierfrage.com
programmierfrage.com is a question and answer site for professional web developers, programming enthusiasts and website builders. Site created and operated by the community. Together with you, we create a free library of detailed answers to any question on programming, web development, website creation and website administration.
Get answers to specific questions
Ask about the real problem you are facing. Describe in detail what you are doing and what you want to achieve.
Help Others Solve Their Issues
Our goal is to create a strong community in which everyone will support each other. If you find a question and know the answer to it, help others with your knowledge.