问题描述
|
我是学习PHP的新手。我问过我在PHP facebook人们搜索我的问题如何删除重复值?
但还是有一些问题要好好理解。
这是数据示例。
https://graph.facebook.com/search?q=tom&type=user&access_token=2227470867|2.AQD2FG3bzBMEiDV3.3600.1307905200.0-100001799728875|LowLfLcqSZ9YKujFEpIrlFNVZPQ
我想清除重复值。这是Tomalak Geret'kal的答复表格,谢谢他。它可以清除重复的名称。
$names = Array();
foreach ($status_list[\'data\'] as $data) {
$names[] = $data[\'name\'];
}
$names = array_unique($names); // not print the same name.
foreach ($names as $name) {
echo $name;
}
因为我仍然想回显$id
。我在这里累了两种方法:
$names = Array();
foreach ($status_list[\'data\'] as $data) {
$names[] = $data[\'name\'];
$id[] = $data[\'id\'];
}
$names = array_unique($names); // not print the same name.
foreach ($names as $name) {
echo $name;
echo $id; // no result
}
$names = Array();
foreach ($status_list[\'data\'] as $data) {
$names[] = $data[\'name\'];
}
$names = array_unique($names); // not print the same name.
foreach ($names as $name) {
echo $name;
echo $data[\'id\']; // all the id is the last people.
}
正确的方法怎么做?谢谢。
解决方法
尝试这个:
$data = array_unique($status_list[\'data\']);
foreach ($data as $i) {
echo $i[\'name\'];
echo $i[\'id\'];
}
通过使用$names = array_unique($names);
,您只需将所有名称放在数组$names
中。
编辑:好吧,我同意Tomalak Geret'kal,因为回显ID没有意义,但是您可以尝试以下操作:
foreach ($status_list[\'data\'] as $data) {
$names[] = $data[\'name\'];
$ids[] = $data[\'id\'];
}
$names = array_unique($names); // not print the same name.
$ids = array_unique($ids); // not print the same name.
$i = 0
foreach ($names as $name) {
echo $name;
echo $ids[$i];
$i ++;
}
, 这是没有道理的。
您只有重复项,因为您将丢弃除\“ Name \”以外的所有信息,该信息不是唯一字段。
当您将“ 8”字段(唯一的)带入图片时,结果中将不再有重复项。
因此,只需编写:
foreach ($status_list[\'data\'] as $data) {
echo $data[\'name\'] . \" \" . $data[\'id\'] . \"\\n\";
}
, $names = Array();
$names=array(\"0\"=>1,\"1\"=>\"1\",\"2\"=>\"2\",\"3\"=>\"2\",\"4\"=>\"23\"); //same value in array
$names = array_unique($names); // not print the same name.
foreach ($names as $name) {
echo \"\\n\\r\".$name;
}