Подтвердить что ты не робот

Изменение ассоциативного массива в индексированный массив/получение Zend_Table_Row_Abstract как неассоциативного

Привет, там, в Штаксленде. Мне было интересно, есть ли функция или простой способ изменить ассоциативный массив в индексированный массив.

Чтобы разработать, я использую среду 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() возвращать неассоциативный массив, но я не думаю, что это возможно. Спасибо за вашу помощь!

4b9b3361

Ответ 1

Является чистым php ok?

$array = array_values($array);

Источник

Ответ 2

определить функцию

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

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

Ответ 3

Вы можете использовать этот простой фрагмент кода, если вы не хотите использовать встроенную функцию 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);