Привет, там, в Штаксленде. Мне было интересно, есть ли функция или простой способ изменить ассоциативный массив в индексированный массив.
Чтобы разработать, я использую структуру Zend, и у меня есть точка на моем сайте, где я беру строку таблицы SQL как ассоциативный массив. Я передал его javascript через эхо в JSON. Однако я заметил, что я вижу имена столбцов моей базы данных в Firebug. Посторонние знают, что имена ваших таблиц и столбцов – это большая безопасность no-no, поэтому я хотел бы изменить ее
SQLarray[user_id] SQLarray[block_id] SQLarray[b_price] etc.
в
SQLarray[0] SQLarray[1] SQLarray[2] etc.
Есть ли хороший способ сделать это?
Было бы также полезно иметь Zend_Table_Abstract-> fetchAll () возвращать неассоциативный массив, но я не думаю, что это возможно. Спасибо за вашу помощь!
Чистый php нормально?
$array = array_values($array);
Источник
определить функцию
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)
.
Вы можете использовать этот простой фрагмент кода, если вы не хотите использовать встроенную функцию PHP.
$input_array; // This is your input array $output_array = []; // This is where your output will be stored. foreach ($input_array as $k => $v){ array_push($output_array, $v); } print_r($output_array);