2009-06-30 3 views
49

안녕하세요 Stackland에 있습니다. 연관 배열을 인덱스 배열로 변경하는 쉬운 방법이나 기능이 있는지 궁금합니다.연관 배열을 색인 배열로 변경/Zend_Table_Row_Abstract를 비 연관으로 가져 오기

정교하게 말하자면, 저는 Zend 프레임 워크를 사용하고 있습니다. 사이트에서 SQL 테이블 행을 연관 배열로 가져 오는 지점이 있습니다. 내가 JSON 에코를 통해 자바 스크립트로 전달했습니다. 그러나 Firebug에서 데이터베이스의 컬럼 이름을 볼 수 있다는 것을 알았습니다. 외부인이 당신의 테이블과 컬럼의 이름을 알고있는 것은이 작업을 수행 할 수있는 좋은 방법이 있나요 큰 보안이 더 - 아니, 내가

SQLarray[0] 
SQLarray[1] 
SQLarray[2] etc. 

SQLarray[user_id] 
SQLarray[block_id] 
SQLarray[b_price] etc. 

에서을 변경하려면 없다 ?

또한 Zend_Table_Abstract-> fetchAll()이 비 연관 배열을 반환하도록 할 수는 있지만 가능하지는 않습니다. 당신의 도움을 주셔서 감사합니다!

답변

123

순수한 PHP입니까?

$array = array_values($array); 

Source

+0

odbc_fetch_array에서 초기 배열을 생성 한 경우 array_values를 사용하여 결과 집합의 적절한 열 순서를 항상 준수 할 수 있습니까? 내가 할 수있는 것처럼 보인다. –

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)입니다.

+1

코드로 문제를 해결하는 방법에 대한 설명이나 간단한 설명을 제공해 주시겠습니까? – Illidanek

+0

그냥 연관 배열을 매개 변수로 전달하고 기본 배열 색인으로 변환합니다. 예 : 호출 함수 배열이 Array (0 => 43,1 => 41)가 된 후에 Array ('2014-04-30'=> 43, '2014-04-29'=> 41) –

-1

inbuilt 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); 
관련 문제