Php 是否基于另一个数组的值创建包含列组的数组?
基本上,我有数组$name、$followers和$imageurl,我希望以数字形式排列$followers数组,但也相应地更新$name和$imageurl的排列 例如,$followers[0]=2783848,$name[0]=Rob和$imageurl[0]=http://xxx.com/image.jpeg 其中所有三个数组都通过具有相同的数组键进行链接 以下是我的全部代码:Php 是否基于另一个数组的值创建包含列组的数组?,php,xml,arrays,object,twitter,Php,Xml,Arrays,Object,Twitter,基本上,我有数组$name、$followers和$imageurl,我希望以数字形式排列$followers数组,但也相应地更新$name和$imageurl的排列 例如,$followers[0]=2783848,$name[0]=Rob和$imageurl[0]=http://xxx.com/image.jpeg 其中所有三个数组都通过具有相同的数组键进行链接 以下是我的全部代码: 这会让我更容易弄明白我在找什么。如果你保留了你的钥匙,应该没关系。为此,请使用asort。在名称数组中循环时
这会让我更容易弄明白我在找什么。如果你保留了你的钥匙,应该没关系。为此,请使用asort。在名称数组中循环时,值将按字母顺序排列。然而,根据asort参数和键的索引,数字将不按数字顺序排列
//show by name alphabetically
asort($names); //puts names in alphabetic order, while preserving key associations
foreach ($names as $key=>$value) {
echo "$value has " . $followers[$key] . ' followers<br>';
}
//show ordered by most followers
arsort($names, SORT_NUMERIC); //puts followers in reverse numeric order, while preserving key associations
foreach ($followers as $key=>$value) {
echo $name[$key] . ' has $value followers<br>';
}
然后,您可以在列中循环,并显示它,或者执行插入语句或其他操作
foreach ($ranks as $rank=>$key) {
echo "{$name[$key]} has rank $rank";
$sql="INSERT INTO ranks ('username','followers','rank') VALUES ('{$name['$key']}','{$followers['$key']}','$rank')";
}
请原谅我的无知,但输出罗布不是有829389追随者为例吗?它应该是的。这不是你想要的吗?如果您想显示关注者最多的关注者,请在关注者列上进行一次排序,并在该列中循环,则效果相同。感谢您的输入:。我意识到我的问题没有被很好地阐述出来,因此我对它进行了更新。我真正想要的是在$followers.Hmmm的基础上构建第四个数组,其值为1-15。还是没有道理。你想输出什么?你想在屏幕上看到的东西的纯英语版本是什么,不一定是你想在代码中做什么?我想有四组数据,名称,关注者,imageurl和排名我想有一个排名值,根据关注者的数量降序排列,因此关注者中具有最高数值的条目将被分配排名1,一直降到最低的15级。然后,我想将这些数据集放入一个MySQL数据库,其中包含列名称、关注者、url、排名,以便可以选择它们,并显示每周排名和关注者更改。最后一部分不是问题,但第一部分是。
//show by name alphabetically
asort($names); //puts names in alphabetic order, while preserving key associations
foreach ($names as $key=>$value) {
echo "$value has " . $followers[$key] . ' followers<br>';
}
//show ordered by most followers
arsort($names, SORT_NUMERIC); //puts followers in reverse numeric order, while preserving key associations
foreach ($followers as $key=>$value) {
echo $name[$key] . ' has $value followers<br>';
}
//Create rank array
$rank=0;
arsort($names, SORT_NUMERIC); //puts followers in reverse numeric order, while preserving key associations
foreach ($followers as $key=>$value) {
$rank++;
$ranks[$rank]=$key;
}
foreach ($ranks as $rank=>$key) {
echo "{$name[$key]} has rank $rank";
$sql="INSERT INTO ranks ('username','followers','rank') VALUES ('{$name['$key']}','{$followers['$key']}','$rank')";
}