Intereting Posts
Как настроить драйвер Microsoft® ODBC 11 для SQL Server® на RedHat Linux с помощью PHP PHP XML, как вывести хороший формат PDO – реальные факты и передовая практика? cakephp 3.0 как заполнить поле select со значениями вместо id Сессия потеряна при переключении с HTTP на HTTPS в PHP Нужно отображать места на карте из базы данных на основе долготы и широты Как установить расширение ext-curl с помощью PHP 7? preg_replace сопоставить целое слово в арабском Require_once (Net / URL2.php): не удалось открыть поток: нет такого файла или каталога Sql запрашивает привязывающие переменные и указывает их Как я могу получить совпадения при использовании preg_replace в PHP? Можете ли вы динамически создавать свойства экземпляра в PHP? Как получить текущее местоположение пользователя с помощью Google Geocode API и PHP Как удалить элемент массива, а затем повторно индексировать массив? Laravel и просмотр кэширования в процессе разработки – не могут сразу увидеть изменения

php – получить числовой индекс ассоциативного массива

У меня есть ассоциативный массив, и мне нужно найти числовое положение ключа. Я мог бы перебрать массив вручную, чтобы найти его, но есть ли лучший способ встраивания в PHP?

$a = array( 'blue' => 'nice', 'car' => 'fast', 'number' => 'none' ); // echo (find numeric index of $a['car']); // output: 1 

 echo array_search("car",array_keys($a)); 
 $blue_keys = array_search("blue", array_keys($a)); 

http://php.net/manual/en/function.array-keys.php

 function arrayValuePosition($value, $array) { return array_search($value, array_keys($array)); } 
 $a = array( 'blue' => 'nice', 'car' => 'fast', 'number' => 'none' ); var_dump(array_search('car', array_keys($a))); var_dump(array_search('blue', array_keys($a))); var_dump(array_search('number', array_keys($a)));
$a = array( 'blue' => 'nice', 'car' => 'fast', 'number' => 'none' ); var_dump(array_search('car', array_keys($a))); var_dump(array_search('blue', array_keys($a))); var_dump(array_search('number', array_keys($a))); 

решение, которое я придумал … возможно, довольно неэффективно в сравнении с решением Fosco:

  protected function getFirstPosition(array$array, $content, $key = true) { $index = 0; if ($key) { foreach ($array as $key => $value) { if ($key == $content) { return $index; } $index++; } } else { foreach ($array as $key => $value) { if ($value == $content) { return $index; } $index++; } } }