PHP数组中最短/最长的字符串长度
我有一个像这样的数组,
$data = array(
"163",
"630",
"43",
"924",
"4",
"54"
);
如何根据字符串长度从中选择最小和最大值而不是数字值。 (本例中为 1(最小)和 3(最大)。
I have an array like this
$data = array(
"163",
"630",
"43",
"924",
"4",
"54"
);
How can I select the smallest and largest values from it according to string length NOT number value. (for this example it is 1 (smallest) and 3 (largest).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
看来你应该使用 array_map()< /strong>
请注意,
$lengths
数组未排序,因此您可以轻松检索每个字符串长度对应的数字。Seems like you should use an array_map()
Note that the
$lengths
array is unsorted, so you can easily retrieve the corresponding number for each string length.以下是 brian_d 的代码的改进版本:
Here's an improved version of brian_d's code:
虽然在这种情况下不建议这样做,因为您将遍历数组两次,但您也可以使用 array_reduce 将每个元素与其余元素进行比较。像这样:
如果您使用 PHP 5.3.0+,您可以利用 闭包:
Although in this case it is not advisable because you'll be traversing the array twice, you can also use array_reduce to compare each element against the rest. Like this:
If you are using PHP 5.3.0+ you can take advantage of closures:
为了完成这一点,这里有一个关于最大值和最小值的一行:
For completion, here is a one-liner for maximum and minimum: