테이블에서 배열로 데이터를 가져 오려고하는데 속도 문제 때문에 foreach 루프를 사용하고 싶습니다. foreach 루프가있는 테이블에서 데이터를 가져 오는 방법
나는function getRowsAssoc()
{
$ret = array();
while (($temp = mysql_fetch_assoc($this->result)) !== FALSE)
{
if (count($temp) > 0)
{
$ret[] = $temp;
}
}
if (count($ret) > 0)
{
return $ret;
}
else
{
return FALSE;
}
}
그러나이에 대한 결과를 사용하여 시도했다.
Array (
[0] => Array ([MySKU] => BB1-3500-48 [UPC] => 721343100171)
[1] => Array ([MySKU] => BC7-3501-19 [UPC] => 721343103516)
[2] => Array ([MySKU] => BC7-3501-95 [UPC] => 721343103523)
[3] => Array ([MySKU] => BB1-3502-12 [UPC] => 721343114000)
[4] => Array ([MySKU] => bc7-2370-03 [UPC] => 721343121602)
)
이 문제는 대신 연합회 배열을 반환하는 그렇게 지금은 아이템 코드의 데이터를 얻을 수없는 그것의 상단에 번호가 배열을 추가하는 것입니다.
I 키를 지정이
Array (
[MySKU] => BB1-3500-48 [UPC] => 721343100171
[MySKU] => BC7-3501-19 [UPC] => 721343103516
[MySKU] => BC7-3501-95 [UPC] => 721343103523
[MySKU] => BB1-3502-12 [UPC] => 721343114000
[MySKU] => bc7-2370-03 [UPC] => 721343121602
)
참고 : 사용 mysqli 또는 PDO 대신 MySQL의 (5.5로 추천되고 있지 않습니다). – Aleph
"속도 문제"... foreach와 while 또는 for의 속도 차이는 적어도 인간이 눈에 띄는 속도 문제는 아니라고 생각합니다. – aleation
'foreach'는 기존 배열을 반복하는 데 사용됩니다. 이 경우,'while'을 사용하여 배열을 만들고있는 것입니다. 사용할 수있는 배열이 없으므로 'foreach'로 대체 할 수 없습니다. – Lukas