有无php自带的一维数组用另一个一维数组排序的方法

1. 运行环境

1). 当前使用的 Laravel 版本?

laravel8

2). 当前使用的 php/php-fpm 版本?

PHP 版本:php8

3). 当前系统

laradock

2. 问题描述?

一维数组 按照另一个二维数组排序

$array=[1,5,3,7];

$order=[1,2,3,4,5,9,8,7];

3. 您期望得到的结果?

[1,3,5,7];

4. 您实际得到的结果?

有没有自带的php函数呢,还是只能自己写?

chowjiawei
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案
<?php
$array = [1, 5, 3, 7, 9];
$order = [1, 2, 3, 4, 5, 9, 8, 7];
// 3. 您期望得到的结果?
// [1,3,5,7];

// 方法一
$result = array_intersect($order, $array);
var_dump($result);

// 方法二
$result2 = array_filter($order, function ($v) use ($array) {
    return in_array($v, $array);
});
var_dump($result2);
2年前 评论
chowjiawei (楼主) 2年前
chowjiawei (楼主) 2年前
讨论数量: 3
<?php
$array = [1, 5, 3, 7, 9];
$order = [1, 2, 3, 4, 5, 9, 8, 7];
// 3. 您期望得到的结果?
// [1,3,5,7];

// 方法一
$result = array_intersect($order, $array);
var_dump($result);

// 方法二
$result2 = array_filter($order, function ($v) use ($array) {
    return in_array($v, $array);
});
var_dump($result2);
2年前 评论
chowjiawei (楼主) 2年前
chowjiawei (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!