我正在尝试在 PHP 中合并 2 个数组,然后对它们进行排序。
我正在从 WordPress 数据库(标签和类别)中提取数据,我需要合并它们并正确排序。
代码看起来类似于:
$categories = [
'<a>WordPress Tips</a>',
'<a>SEO Tips'</a>,
'<a>Development Tips</a>'
];
$tags = [
'<a>WordPress</a>',
'<a>SEO'</a>,
'<a>Development</a>'
];
$taxonomies = array_merge($categories, $tags);
sort($taxonomies);
由于我需要循环遍历 $taxonomies 数组并使用包含的 anchor 打印它们(其中每个都必须有一个有效的 URL 本身),所以我没有得到正确的排序结果。然而,一旦我“删除”这些项目周围的所有标签,排序就会按预期进行,但我没有得到我需要的 URL,只有字符串/文本。
有人可以建议一种更好的排序算法,该算法可以使用周围包含的 html 元素对这些项目进行正确排序吗?谢谢!
最佳答案
您需要使用 usort() 进行自定义比较才能使其正常工作和 strip_tags()
<?php
$taxonomies = array_merge($categories, $tags);
print_r($taxonomies);
function cmp($a, $b){
$data1 = strip_tags($a);
$data2 = strip_tags($b);
return ($data1 < $data2) ? -1 : 1;
}
usort($taxonomies, "cmp");
print_r($taxonomies);
关于php - 在php和wordpress中合并然后排序2个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48225144/