Intereting Posts
Escape цитаты в переменной с PHP Большие файлы .PDF не загружаются в базу данных MySQL как средний BLOB через PHP, файлы под 2MB работают нормально Объявление класса – переменная PHP – использование даты, чтобы узнать о летнее время Формат JSON для столбца в столбце Google Как конвертировать время сервера в локальное время? Шифровать html-код в исходном виде .htaccess: не указан входной файл Лучшая практика для организации повторных запросов DBAL в Symfony2? удаление .html расширения URL с использованием .htaccess не работает Каков наилучший способ проверки чисел с запятой как десятичной разделитель? Сложные предложения WHERE, использующие ORM PHP Doctrine ORM Блокировать определенный IP-блок с моего сайта в PHP Как показать другой контент посетителям сайта из определенной страны на PHP? Как использовать маршрутизацию laravel для неизвестного количества параметров в URL?

Преобразование ассоциативного массива в индексированный

Я видел несколько примеров, используя array_values, но не могу понять, как заставить его работать …

У меня есть ассоциативный массив, который прошел через POST, мне нужно преобразовать его в индексированный массив …

Мой print_r ($ _ POST) дает мне это … Мне нужно, чтобы все это помещалось в индексированный массив 🙂

Array ( [fieldnames] => 36771X21X198|36771X21X199|36771X21X200|36771X21X201|36771X21X202 [36771X21X198] => 3434343 [display36771X21X198] => on [36771X21X199] => 5656565 [display36771X21X199] => on [36771X21X200] => 89898989 [display36771X21X200] => on [36771X21X201] => 90909090 [display36771X21X201] => on [36771X21X202] => 12121212 [display36771X21X202] => on [move] => movesubmit [move2] => ONLINE Submit [thisstep] => 1 [sid] => 36771 [token] => 1234567890 ) 

Solutions Collecting From Web of "Преобразование ассоциативного массива в индексированный"

Обратите внимание на этот удивительный способ преобразования вашего $_POST в числовой индексный массив:

 $numerical = array_values($_POST); 

но что, если вы хотите сохранить свои ключи? Возможно, вам нужно что-то подобное?

 $numerical = array(); $sep = ':'; foreach($_POST as $k=>$v) { $numerical[] = $k.$sep.$v; } 

$ numberical будет иметь:

 Array ( [0] => fieldnames:36771X21X198|36771X21X199|36771X21X200|36771X21X201|36771X21X202 [1] => 36771X21X198:3434343 [2] => display36771X21X198:on [3] => 36771X21X199:5656565 [4] => display36771X21X199:on [5] => 36771X21X200:89898989 [6] => display36771X21X200:on [7] => 36771X21X201:90909090 [8] => display36771X21X201:on [9] => 36771X21X202:12121212 [10] => display36771X21X202:on [11] => move:movesubmit [12] => move2:ONLINE Submit [13] => thisstep:1 [14] => sid:36771 [15] => token:1234567890 ) 

или, для моего последнего примера:

 $fieldnames_original = explode('|', $_POST['fieldnames']); $fieldnames_actual = array(); $values = array(); foreach($_POST as $k=>$v) { if($k!='fieldnames') { $fieldnames_actual[] = $k; $values[] = $v; } } 

который установит 3 массива:

$ Fieldnames_original:

 Array ( [0] => 36771X21X198 [1] => 36771X21X199 [2] => 36771X21X200 [3] => 36771X21X201 [4] => 36771X21X202 ) 

$ Fieldnames_actual:

 Array ( [0] => 36771X21X198 [1] => display36771X21X198 [2] => 36771X21X199 [3] => display36771X21X199 [4] => 36771X21X200 [5] => display36771X21X200 [6] => 36771X21X201 [7] => display36771X21X201 [8] => 36771X21X202 [9] => display36771X21X202 [10] => move [11] => move2 [12] => thisstep [13] => sid [14] => token ) 

и $ values:

 Array ( [0] => 3434343 [1] => on [2] => 5656565 [3] => on [4] => 89898989 [5] => on [6] => 90909090 [7] => on [8] => 12121212 [9] => on [10] => movesubmit [11] => ONLINE Submit [12] => 1 [13] => 36771 [14] => 1234567890 ) 

функция

 function array_default_key($array) { $arrayTemp = array(); $i = 0; foreach ($array as $key => $val) { $arrayTemp[$i] = $val; $i++; } return $arrayTemp; } 

Передайте ассоциативный массив в качестве параметра и преобразуйте его в индекс по умолчанию массива. Например: у нас есть Array('2014-04-30'=>43,'2014-04-29'=>41) после вызова функции массив будет Array(0=>43,1=>41) .