当两个数组在每个数组的相同索引上具有相关值时,如何在一个数组得到排序时得到关系??? PHP

时间:2012-08-08 07:37:58

标签: php sorting

当两个数组在两个数组的相同索引上都具有某种关系的值时,如何得到两个数组之间的关系,例如,

我从mysql的一个表中检索了“tagname”和“path”,然后我使用循环将这两个列值放在两个数组中,因此“array Tag []”包含了“Introduction”和“array Path []”有引入的路径值两个值都在那个受尊重的数组的索引“0”上,并且所有数据都以这种方式收集在“arrat Tag []”和“array Path []”之后我按照某些方式对我的“Tag”进行排序使用此代码的其他数组

$sorted =array_intersection($some_other_array,$array Tag)

现在我怎么知道Tag作为标签排序的相关路径值?

希望得到你的建议

2 个答案:

答案 0 :(得分:1)

创建数组时从mysql / DB结果集创建,创建为

while($row = mysql_fetch_assoc($query)){
    $array[$row['path']] = $row['tag'];
}

假设您的数组为

$array['xyz'] = 'pqr';
$array['abc'] = 'wsx';
$array['poi'] = 'qaz';
$array['lkj'] = 'abc';

根据需要根据可用的标记或排序方法对数组进行排序。 在这种情况下,它将使用键作为路径而不是int索引 使用标记排序也会将其与路径绑定。

对数组进行排序后(假设使用标记名称的首字母字母排序)

$array['lkj'] = 'abc';
$array['poi'] = 'qaz';
$array['xyz'] = 'pqr';
$array['abc'] = 'wsx';

因此,如果您需要特定的标记路径并且知道标记值,则可以使用带有键和值的foreach循环或使用aray_keys轻松找到标记的路径。

答案 1 :(得分:0)

您需要将这两个数组合并到关联数组中,然后使用asort()uasort(),具体取决于特定的排序方案。