Я видел несколько примеров, используя 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 )
Обратите внимание на этот удивительный способ преобразования вашего $_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)
.