Ben bazı veriler var, evet, veri. Bu veriler bir MySQL sorgu geldi ve her zaman, her zaman, 4 öğeleri içerecek. Daha sonra bir web sayfası içinde kullanılmak üzere bir dizi tabloda verileri önbelleğe istiyorum ama sorgudan anahtarları tutmak istiyorum ve her bir boyutlu dizi içinde gruplandırma ayırmak. Ancak dizi aracılığıyla ben belirli bir veri grubunu bulmak istediğiniz her zaman yineleme zaman kazanmak için, ben her zaman, her dört kalemleri içinde ilk anahtar kimlik anahtarı olarak aynı ilk dizinin anahtarlarını aramak istiyorum.
Dakikada ben bu kodu kullanıyorum:
function mysql_fetch_full_result_array($result)
{
$table_result=array();
$r=0;
while($row = mysql_fetch_assoc($result)){
$arr_row=array();
$c=0;
while ($c < mysql_num_fields($result)) {
$col = mysql_fetch_field($result, $c);
$arr_row[$col -> name] = $row[$col -> name];
$c++;
}
$table_result[$r] = $arr_row;
$r++;
}
return $table_result;
}
Şu anda 3 benzersiz kullanıcılarını kullanarak bu test ediyorum, bu yüzden bu işlevi biçimde biter gelen sorgu ve veri geri üç satır alıyorum:
[0]=>
. . [id] => 1
. . [name] => random name
. . [tel] => random tel
. . [post] => post code data
[1]=>
. . [id] => 34
. . [name] => random name
. . [tel] => random tel
. . [post] => post code data
[2]=>
. . [id] => 56
. . [name] => random name
. . [tel] => random tel
. . [post] => post code data
Peki nasıl yerine tuşları [0], [1], [2] bana çıkış vermek kodunu değiştirmek için ne yapmalıyım:
[1]=>
. . [id] => 1
. . [name] => random name
. . [tel] => random tel
. . [post] => post code data
[34]=>
. . [id] => 34
. . [name] => random name
. . [tel] => random tel
. . [post] => post code data
[56]=>
. . [id] => 56
. . [name] => random name
. . [tel] => random tel
. . [post] => post code data
Ana Dizi anahtarları numaraları ziyade sayı dizeleri ise ben umursamıyorum ama ben biraz şaşırıp, ben $table_result[$result['id']] = $arr_row; okumak için $table_result[$r] = $arr_row; kısmını değiştirmeyi denedim ama bu sadece çıktılar Bir kişinin bir dizi. Ben başka bir döngüye ihtiyacım olduğunu biliyorum ama bunu yazmak için nasıl çalışmak için mücadele ediyorum.