【发布时间】:2021-12-01 21:47:45
【问题描述】:
我有一个程序,我在输入中接收一个字符串并将其逐行存储在字段中,例如 list [0] = 'Roll 5CZK' 等。我还有一个函数可以从字符串(数字,这里是 5)。我怎样才能对这个字段进行排序。我不想用二维数组解决它
$string='Rohlík 5Kč
CZK400 Knížka
Pivo 42,-
Houska 4 Kč';
$list = explode(PHP_EOL, $string);
getPrice($list[1]); // => 400
getPrice($list[2]; // => 42
【问题讨论】:
-
有一个list of sort functions。选择你需要的那个。在不知道
getPrice()在做什么的情况下,我无法判断哪一个最适合。创建一个辅助数组来对其进行排序并没有错。 -
当然,我可以创建一个辅助字段,然后进行比较,但我想知道它是否更容易。该函数(我写的)从字符串中返回数值,我试图在代码中指出它。
-
类似
usort($list, fn ($a, $b) => getPrice($a) <=> getPrice($b));?尽管请注意,getPrice可能会为同一个元素重复调用。如果这是一个问题,您应该映射到一些中间数据结构,然后排序并映射回来。 -
但我无法理解这个问题。你到底想排序什么?您能否完善您的问题并添加预期结果?
-
这能回答你的问题吗? How can I sort arrays and data in PHP?