Изменение ассоциативного массива в индексированный массив / получение абстрактной строки таблицы Zend как неассоциативной
Привет там, в Стэкленде. Мне было интересно, существует ли функция или простой способ изменить ассоциативный массив в индексированный массив.
Чтобы уточнить, я использую фреймворк Zend, и у меня есть точка на моем сайте, где я беру строку таблицы SQL в качестве ассоциативного массива. Я передал его на javascript через эхо в JSON. Однако я заметил, что могу видеть имена столбцов моей базы данных в Firebug. Наличие посторонних людей, знающих названия ваших столов и столбцы-это большая безопасность нет-нет, поэтому я хотел бы изменить ее с
SQLarray[user_id]
SQLarray[block_id]
SQLarray[b_price] etc.
К
SQLarray[0]
SQLarray[1]
SQLarray[2] etc.
Есть ли хороший способ сделать это?
Также было бы неплохо, чтобы Zend_Table_Abstract->fetchAll() возвращал неассоциативный массив, но я не думаю, что это возможно. Спасибо за вашу помощь!
3 ответа:
Определить функцию
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);