Измените ассоциативный массив на индексированный массив / получите абстрактную строку таблицы 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 answers
Определить функцию
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);