gpt4 book ai didi

php - MySQL 和 PHP : Sorting text by alphabetical order for English & string length for non-English

转载 作者:行者123 更新时间:2023-11-29 03:06:46 26 4
gpt4 key购买 nike

我在 MySQL 数据库表中有一个文本字段,其文本值混合了英文和非英文条目(假定以字母开头的字符串被视为英文)。

我想对值进行排序并在 HTML 下拉框中使用它。数据示例:

Banana
Apple
Juice
西瓜
水蜜桃
ピタヤピタヤ
ピーチ

我想将其排序为:

Apple
Banana
Juice
西瓜
ピーチ
大水蜜桃
ピタヤピタヤ

英文条目在前,按字母升序排列;然后是非英语条目,后跟字符串长度。我想我必须用 PHP 来解决它,对吧?

PHP伪代码

$result_set = ( get result set from database with MySQL query )
// perform array sort ( after identifying English & non-English
echo '<select>';
foreach($row in $result_set) {
echo '<option value="{ some values here }">{ row text }</option>';
}
echo '</select>';

这里有2个问题:

  1. 如何识别英文和非英文条目(在 PHP/MySQL 中)?
  2. 是否可以只在 MySQL 中解决?

最佳答案

下面的 ORDER BY 子句应该做到这一点:

ORDER BY IF(is_english(text), text, "zzzzzzzzz"), CHAR_LENGTH(text)

您需要弄清楚如何实现 is_english()。一种简单的方法是向数据库中添加一列。或者使用正则表达式查找任何非英文字母。

关于php - MySQL 和 PHP : Sorting text by alphabetical order for English & string length for non-English,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13985915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com