Ham*_*mza 1 php arrays facebook arraylist
我是一个php新手,我正在为我的flash游戏创建一个Facebook应用程序.在应用程序的主页面中,我想打印按分数排序的当前用户朋友.
我使用此API函数的第一个用户朋友使用我的应用程序:
<?php $friends = $facebook->api_client->friends_getAppUsers();?>
Run Code Online (Sandbox Code Playgroud)
$ friends是一个包含所有用户朋友ID的数组,每个ID都是一个bigint.
之后我创建另一个数组来存储在Friends ID的+分数中:
<?php
foreach( $friends as $friend )
{
$fscores["$friend"] = get_user_bestscore($friend);
}
?>
Run Code Online (Sandbox Code Playgroud)
get_user_bestscore($朋友); 功能从我的DB获得分数.
我对数组进行排序,以显示按分数排序的朋友:
<?php sort($fscores); ?>
Run Code Online (Sandbox Code Playgroud)
最后一步显示$ fscores数组以显示来自ID的朋友姓名,而得分I使用:
<?php
foreach( $fscores as $fid => $score )
{
echo '<P>';
echo '<fb:profile-pic uid="'.$fid.'" linked="true" /><br>';
echo '<b># '.$counter++.'</b>';
echo '<b>- <fb:name uid="'.$fid.'" useyou="false"/></b><br>';
echo '<b>Score : '.$score.'</b>';
echo '</P>';
}
?>
Run Code Online (Sandbox Code Playgroud)
$ score var显示从DB到数组正确存储的分数,但$ fid(Facebook Friend ID)显示ex:0
我使用print_r来了解我找到的$ scores数组内容:Array([0] => 5.87)
在我找到的第一个$ friends数组中:
Array ( [0] => 100000625691889 )
我想得到的是:
Array ( [100000625691889 ] => 5.87)
任何解决方案,请
提前致谢.
sort() 功能将删除您的键和自动索引.
http://www.php.net/manual/en/function.sort.php
注意:此函数为数组中的元素分配新键.它将删除可能已分配的任何现有密钥,而不仅仅是重新排序密钥.
您可以使用它asort()来排序数组并保留键.
我不是100%确定我理解你的问题.看起来你有一个如下所示的数组:
100000625691889 => 5.87
Run Code Online (Sandbox Code Playgroud)
而你正在失去关键.如果是这样,那是因为你正在使用sort(),它不保留数组索引.如果要保留数组键,请asort()改用.
注意:我不是指按键排序(除非那是你想要的).按键排序是通过ksort().让我用一些例子来澄清这一点:
$arr = array(1234 => 5, 5678 => 3, 3456 => 11);
sort($arr);
print_r($arr);
$arr = array(1234 => 5, 5678 => 3, 3456 => 11);
asort($arr);
print_r($arr);
$arr = array(1234 => 5, 5678 => 3, 3456 => 11);
ksort($arr);
print_r($arr);
Run Code Online (Sandbox Code Playgroud)
按值排序(sort()):
Array
(
[0] => 3
[1] => 5
[2] => 11
)
Run Code Online (Sandbox Code Playgroud)
按值保存键(asort())排序:
Array
(
[5678] => 3
[1234] => 5
[3456] => 11
)
Run Code Online (Sandbox Code Playgroud)
按键排序(ksort()):
Array
(
[1234] => 5
[3456] => 11
[5678] => 3
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
342 次 |
| 最近记录: |