PHP   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – 如果与字符串相比,如何将数组元素移动到顶部?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个数组$result从 mysql获取如下
Array
(
    [0] => Array
        (
            [p_title] => Apple The New iPad (White,64GB,WiFi)
        )
    [1] => Array
        (
            [p_title] => Apple ipad Mini/ipad Mini Retina Belkin Fastfit Bluetooth Wireless Key
        )
    [2] => Array
        (
            [p_title] => Apple ipad Air (16GB,WiFi + Cellular)
        )
)

并假设我在$sort_by变量中按值排序.
对于前目前,

所以我想将每个拥有p_title“Apple ipad”的数组元素移到顶部.

所以我的输出数组应该是;

Array
(
    [0] => Array
        (
            [p_title] => Apple ipad Air (16GB,WiFi + Cellular)
        )
    [1] => Array
        (
            [p_title] => Apple ipad Mini/ipad Mini Retina Belkin Fastfit Bluetooth Wireless Key
        )
    [2] => Array
        (
            [p_title] => Apple The New iPad (White,WiFi)
        )
)

我准备在mysql查询或php中编辑代码.

解决方法

使用usort():
function sortx($a,$b) {
    if(strpos($a['p_title'],'Apple ipad')!==false){
        return -1;
    }
    return 1;
}

usort($array,'sortx');

只要前面的值包含该字符串,它就会被推向数组的开头.

如果要在usort()函数中使用变量,则需要使用对象:

class SortTitles{
    public $string;
    function sortx($a,$b) {
        if(strpos($a['p_title'],$this->string)!==false){
            return -1;
        }
        return 1;
    }
    public function sort_titles($array){
        usort($array,'self::sortx');
        return $array;
    }

}
$sort = new SortTitles;
$sort->string = 'Apple ipad';
$array = $sort->sort_titles($array);

大佬总结

以上是大佬教程为你收集整理的php – 如果与字符串相比,如何将数组元素移动到顶部?全部内容,希望文章能够帮你解决php – 如果与字符串相比,如何将数组元素移动到顶部?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: