當前位置:首頁 » 編程語言 » php字元串排序

php字元串排序

發布時間: 2022-09-06 01:31:27

php對象轉json字元串時如何排序

建議把json字元串轉為關聯數組再來處理和排序:

$str='{"1":1,"3":2}';

$arr=json_decode($str,true);

$arr["2"]=3;

ksort($arr,1);

$str=json_encode($arr);

print_r($str);

如果一定要按對象來處理,就這樣:

$str='{"1":1,"3":2}';

$obj=json_decode($str);

$k="2";

$obj->$k=3;

$arr=json_decode(json_encode($obj),true);

ksort($arr,1);

$str=json_encode($arr);

print_r($str);

❷ PHP實現的自定義數組排序函數與排序類示例

本文實例講述了PHP實現的自定義數組排序函數與排序類。分享給大家供大家參考,具體如下:
/*
*
二維數組自定義排序函數
*
uasort($arr,function_name)
*
**/
$arr
=
array(
array('a'=>1,'b'=>'c'),
array('a'=>4,'b'=>'a'),
array('a'=>5,'b'=>'g'),
array('a'=>7,'b'=>'f'),
array('a'=>6,'b'=>'e')
);
function
compare_arr($x,$y){
if($x['b']<$y['b']){
return
-1;
}else
if($x['b']>$y['b']){
return
1;
}else{
return
0;
}
}
uasort($arr,'compare_arr');
foreach($arr
as
$a){
echo
$a['a'].'=>'.$a['b'].'<br/>';
}
手冊里的自定義排序類:
class
multiSort
{
var
$key;
//key
in
your
array
//排序函數
參數依次是
數組
待排列索引
排序類型
function
run
($myarray,
$key_to_sort,
$type_of_sort
=
'')
{
$this->key
=
$key_to_sort;
if
($type_of_sort
==
'desc')
uasort($myarray,
array($this,
'myreverse_compare'));
else
uasort($myarray,
array($this,
'mycompare'));
return
$myarray;
}
//正序
function
mycompare($x,
$y)
{
if
(
$x[$this->key]
==
$y[$this->key]
)
return
0;
else
if
(
$x[$this->key]
<
$y[$this->key]
)
return
-1;
else
return
1;
}
//逆序
function
myreverse_compare($x,
$y)
{
if
(
$x[$this->key]
==
$y[$this->key]
)
return
0;
else
if
(
$x[$this->key]
>
$y[$this->key]
)
return
-1;
else
return
1;
}
}
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《php排序演算法總結》、《php字元串(string)用法總結》、《PHP針對XML文件操作技巧總結》、《PHP錯誤與異常處理方法總結》、《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。

❸ php+mysql 怎麼讓一段字元串 和 資料庫中的 指定欄位 比較他們內容的相似度,然後按相似度排序

純sql的話,應該實現不了,相似的這個應該還是PHP來處理的,排第三的都沒有相似的內容了,也要顯示。那就是所有的數據,然後再foreach來做對比判斷,我覺得可以將字元串分為數組,然後對比兩個數組的交集個數,再按交集的個數來排序

❹ php中和值相關的排序有哪些函數

定義和用法
arsort() 函數對關聯數組按照鍵值進行降序排序。
提示:請使用 asort() 函數對關聯數組按照鍵值進行升序排序。
提示:請使用 krsort() 函數對關聯數組按照鍵名進行降序排序。
語法
arsort(array,sortingtype);
參數 描述
array 必需。規定要進行排序的數組。
sortingtype
可選。規定如何排列數組的元素/項目。可能的值:
0 = SORT_REGULAR - 默認。把每一項按常規順序排列(Standard ASCII,不改變類型)
1 = SORT_NUMERIC - 把每一項作為數字來處理。
2 = SORT_STRING - 把每一項作為字元串來處理。
3 = SORT_LOCALE_STRING - 把每一項作為字元串來處理,基於當前區域設置(可通過 setlocale() 進行更改)。
4 = SORT_NATURAL - 把每一項作為字元串來處理,使用類似 natsort() 的自然排序。
5 = SORT_FLAG_CASE - 可以結合(按位或)SORT_STRING 或 SORT_NATURAL 對字元串進行排序,不區分大小寫。
定義和用法
asort() 函數對關聯數組按照鍵值進行升序排序。
提示:請使用 arsort() 函數對關聯數組按照鍵值進行降序排序。
提示:請使用 ksort() 函數對關聯數組按照鍵名進行升序排序。
語法
asort(array,sortingtype);
參數 描述
array 必需。規定要進行排序的數組。
sortingtype
可選。規定如何排列數組的元素/項目。可能的值:
0 = SORT_REGULAR - 默認。把每一項按常規順序排列(Standard ASCII,不改變類型)
1 = SORT_NUMERIC - 把每一項作為數字來處理
2 = SORT_STRING - 把每一項作為字元串來處理
3 = SORT_LOCALE_STRING - 把每一項作為字元串來處理,基於當前區域設置(可通過 setlocale() 進行更改)
4 = SORT_NATURAL - 把每一項作為字元串來處理,使用類似 natsort() 的自然排序
5 = SORT_FLAG_CASE - 可以結合(按位或)SORT_STRING 或 SORT_NATURAL 對字元串進行排序,不區分大小寫

❺ php的ksort排序如果鍵值有數字和字元串怎麼排序,第二個參數怎麼弄

0
=
SORT_REGULAR
-默認。把每一項按常規順序排列(Standard
ASCII,不改變類型)。
1
=
SORT_NUMERIC
-
把每一項作為數字來處理。
2
=
SORT_STRING
-
把每一項作為字元串來處理。
3
=
SORT_LOCALE_STRING
-
把每一項作為字元串來處理,基於當前區域設置(可通過
setlocale()
進行更改)。
4
=
SORT_NATURAL
-
把每一項作為字元串來處理,使用類似
natsort()
的自然排序。
5
=
SORT_FLAG_CASE
-
可以結合(按位或)SORT_STRING

SORT_NATURAL
對字元串進行排序,不區分大小寫。

❻ php分割字元串並重新排序問題

樓主試下
$arr = array(1,11,111);
$arr = array_reverse($arr);
print_r($arr);

❼ php 字典順序排序

?php
if ($_POST["perdata"] == "")
{
$_POST["perdata"] = "1 2 3 4";
}

$data = chop (trim ($_POST["perdata"]));
$a = explode (" ", $data);
sort ($a);
$data = implode (" ", $a);
?>

<?php
function nextpermu (&$c)
{
$s = sizeof ($c);
$i = $s - 1;

while ($i > 0)
{
if ($c[$i] > $c[$i-1])
{
$j = $s-1;
while ($c[$j] <= $c[$i-1])
$j--;
$t = $c[$i-1];
$c[$i-1] = $c[$j];
$c[$j] = $t;
//echo $i."-".$j."<br>";
for ($j=$s-1; $i < $j; $i++, $j--)
{
$t = $c[$i];
$c[$i] = $c[$j];
$c[$j] = $t;
}
return true;
}
$i--;
}

for ($i = 0, $j=$s-1; $i < $j; $i++, $j--)
{
$t = $c[$i];
$c[$i] = $c[$j];
$c[$j] = $t;
}
return false;
}
?>
<html>
<head>
<title>排列-字典法</title>
</head>
<body>
<form action="permutation.php" method="post">
<table>
<tr>
<td><input type="text" name="perdata"></td>
<td><input type="submit" value="排列"></td>
</tr>
</table>
</form>

<p>當前元素:<? echo $data; ?></p>

<table width="60%">
<tr>
<th width="50" bgcolor="yellow">序號</th>
<th bgcolor="EEEEFF">排列</th>
</tr>
<?php
$num = 1;

do
{
?>
<tr>
<td align="center"><? echo $num; ?> </td>
<td><? echo implode (" ", $a); ?></td>
</tr>
<?php
$num++;
}
while (nextpermu ($a));
?>
</table>
</body>
</html>

❽ PHP自動排序

<?php

//fetch lines to array '$lines'
$lines = file('file.txt');

//mp array before sorted;
mp_array($lines);

//filte lines which length great then 50
foreach($lines as $key => $val){
if(strlen($val) > 50){
unset($lines[$key]);
}
}

//sort array $lines by function _f() ;
usort($lines , '_f');function _f($a , $b){

$r = strlen($a) - strlen($b);

if($r != 0){

return $r;

}else{

//
}
}

//function to show contents of array
function mp_array($ary){
$i = 0 ;
foreach($ary as $v){
echo '<li>line #' ,str_pad($i++ , 4 , 0 , STR_PAD_LEFT) , ' : <span style=" font-family: Courier New; "><u>' , $v ,'</u></span>';
}
echo '<hr>';
}

//mp array after sorted;
mp_array($lines);

?>

熱點內容
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:778
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:100
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:208
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995
加上www不能訪問 發布:2024-09-08 06:39:52 瀏覽:811
銀行支付密碼器怎麼用 發布:2024-09-08 06:39:52 瀏覽:513
蘋果手機清理瀏覽器緩存怎麼清理緩存 發布:2024-09-08 06:31:32 瀏覽:554
雲伺服器的優點與缺點 發布:2024-09-08 06:30:34 瀏覽:734
上傳下載賺錢 發布:2024-09-08 06:14:51 瀏覽:258