帮助我进行 php 数组排序

发布于 2024-11-25 09:09:45 字数 180 浏览 4 评论 0原文

我有这个数组

$arr = array('test1', 'test', 'test3', 'var1', 'var5', 'var');

,我想将数组修剪/排序为这样

$arr = array('test', 'var');

I have this array

$arr = array('test1', 'test', 'test3', 'var1', 'var5', 'var');

and I want to trim/sort the array to be like this

$arr = array('test', 'var');

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

请别遗忘我 2024-12-02 09:09:45

这个问题有点模糊;在我看来,您好像在问如何过滤掉不包含数字的元素,而提供的 $arr 只是一个示例。在这种情况下,您可以执行以下操作:

$arr = array('test1', 'test', 'test3', 'var1', 'var5', 'var');

function filter($element)
{
  if (ctype_alpha($element)) return $element;
}

$output = array_filter($arr, 'filter');

如果您的数组发生更改,这也将起作用。如果您需要按字母顺序对结果进行排序,那么:

natcasesort($output);

不过我可能是错的;在这种情况下,这有点矫枉过正了。

This question is a little vague; it sounds to me like you're asking how to filter out the elements that do not contain a digit, and the provided $arr is just an example. In which case you can do the following:

$arr = array('test1', 'test', 'test3', 'var1', 'var5', 'var');

function filter($element)
{
  if (ctype_alpha($element)) return $element;
}

$output = array_filter($arr, 'filter');

This will also work if your array changes. If you need to sort the results alphabetically, then:

natcasesort($output);

I could be wrong though; in which case this is slightly overkill.

孤千羽 2024-12-02 09:09:45

对 array_splice() 的几次调用即可完成此操作,但它们不能嵌套,因为它需要数组引用,并且不会接受函数调用的输出作为输入参数。

$arr = array('test1', 'test', 'test3', 'var1', 'var5', 'var');
array_splice($arr, 0, 1);
array_splice($arr, 1, 3);

print_r($arr);
Array
(
    [0] => test
    [1] => var
)

A couple of calls to array_splice() will do it, however they cannot be nested because it expects an array reference and will not accept the output of a function call as an input parameter.

$arr = array('test1', 'test', 'test3', 'var1', 'var5', 'var');
array_splice($arr, 0, 1);
array_splice($arr, 1, 3);

print_r($arr);
Array
(
    [0] => test
    [1] => var
)
别想她 2024-12-02 09:09:45
 $arr = array('test1', 'test', 'test3', 'var1', 'var5', 'var');
 $arr = array($arr[1], $arr[5]);

如果项目位置发生移动,则存在很多变化的可能性,但根据您发布的内容,我认为这是最快的。

 $arr = array('test1', 'test', 'test3', 'var1', 'var5', 'var');
 $arr = array($arr[1], $arr[5]);

There's a lot of possibilities for variability if the item positions ever move around, but based on what you've posted, I think this is quickest.

香橙ぽ 2024-12-02 09:09:45
$arr = array_unique(array_map('rtrim',$arr,array_fill(1,count($arr),'0123456789')));
$arr = array_unique(array_map('rtrim',$arr,array_fill(1,count($arr),'0123456789')));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文