日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php替换算法,PHP实现各种经典算法 || 我们的爱的博客

發布時間:2025/3/12 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php替换算法,PHP实现各种经典算法 || 我们的爱的博客 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下是代碼片段:

//--------------------

//?基本數據結構算法

//--------------------

//二分查找(數組里查找某個元素)

function?bin_sch($array,??$low,?$high,?$k){

if?(?$low?<=?$high){

$mid?=??intval(($low+$high)/2?);

if?($array[$mid]?==??$k){

return?$mid;

}elseif?(?$k?

return??bin_sch($array,?$low,??$mid-1,?$k);

}else{

return??bin_sch($array,?$mid+?1,?$high,?$k);

}

}

return?-1;

}

//順序查找(數組里查找某個元素)

function??seq_sch($array,?$n,??$k){

$array[$n]?=??$k;

for($i=0;??$i

if(?$array[$i]==$k){

break;

}

}

if?($i

return??$i;

}else{

return?-1;

}

}

//線性表的刪除(數組中實現)

function?delete_array_element($array?,?$i)

{

$len?=??count($array);

for?($j=?$i;?$j

$array[$j]?=?$array?[$j+1];

}

array_pop?($array);

return?$array?;

}

//冒泡排序(數組排序)

function?bubble_sort(?$array)

{

$count?=?count(?$array);

if?($count?<=?0?)?return?false;

for($i=0?;?$i

for($j=$count-1?;?$j>$i;?$j--){

if?($array[$j]?

$tmp?=?$array[$j];

$array[$j]?=?$array[?$j-1];

$array?[$j-1]?=?$tmp;

}

}

}

return?$array;

}

//快速排序(數組排序)

function?quick_sort($array?)?{

if?(count($array)?<=?1)?return??$array;

$key?=?$array?[0];

$left_arr??=?array();

$right_arr?=?array();

for?($i=?1;?$i

if?($array[?$i]?<=?$key)

$left_arr?[]?=?$array[$i];

else

$right_arr[]?=?$array[$i?];

}

$left_arr?=?quick_sort($left_arr?);

$right_arr?=?quick_sort(?$right_arr);

return?array_merge($left_arr?,?array($key),?$right_arr);

}

//------------------------

//?PHP內置字符串函數實現

//------------------------

//字符串長度

function?strlen?($str)

{

if?($str?==?''?)?return?0;

$count?=??0;

while?(1){

if?(?$str[$count]?!=?NULL){

$count++;

continue;

}else{

break;

}

}

return?$count;

}

//截取子串

function?substr($str,?$start,??$length=NULL)

{

if?($str==?''?||?$start>strlen($str?))?return;

if?(($length!=NULL)?&&?(?$start>0)?&&?($length>?strlen($str)-$start))?return;

if?((?$length!=NULL)?&&?($startstrlen($str?)+$start))?return;

if?($length?==??NULL)?$length?=?(strlen($str?)?-?$start);

if?($start?

for?($i=(strlen(?$str)+$start);?$i

$substr?.=??$str[$i];

}

}

if?($length??>?0){

for?($i=?$start;?$i

$substr??.=?$str[$i];

}

}

if?(?$length?

for?($i?=$start;?$i

$substr?.=?$str[$i?];

}

}

return?$substr;

}

//字符串翻轉

function?strrev($str)

{

if?($str?==?'')?return?0?;

for?($i=(strlen($str)-?1);?$i>=0;?$i?--){

$rev_str?.=?$str[$i?];

}

return?$rev_str;

}

//字符串比較

function?strcmp($s1,??$s2)

{

if?(strlen($s1)?

if?(strlen($s1)?>?strlen(?$s2))?return?1;

for?($i?=0;?$i

if?($s1[?$i]?==?$s2[$i]){

continue;

}else{

return?false;

}

}

return??0;

}

//查找字符串

function??strstr($str,?$substr)

{

$m?=?strlen($str);

$n?=?strlen($substr?);

if?($m?

for?($i=0;?$i?<=($m-$n+1);?$i?++){

$sub?=?substr(?$str,?$i,?$n);

if?(?strcmp($sub,?$substr)?==??0)??return?$i;

}

return?false?;

}

//字符串替換

function?str_replace($substr?,?$newsubstr,?$str)

{

$m?=?strlen($str);

$n?=?strlen($substr?);

$x?=?strlen($newsubstr?);

if?(strchr($str,?$substr?)?==?false)?return?false;

for?(?$i=0;?$i<=($m-?$n+1);?$i++){

$i?=?strchr($str,??$substr);

$str?=?str_delete?($str,?$i,?$n);

$str?=?str_insert($str,??$i,?$newstr);

}

return?$str?;

}

//--------------------

//?自實現字符串處理函數

//--------------------

//插入一段字符串

function?str_insert($str,?$i?,?$substr)

{

for($j=0?;?$j

$startstr?.=?$str[$j?];

}

for?($j=$i;?$j?

$laststr?.=?$str[$j?];

}

$str?=?($startstr?.?$substr??.?$laststr);

return?$str?;

}

//刪除一段字符串

function?str_delete($str?,?$i,?$j)

{

for?(?$c=0;?$c

$startstr?.=?$str?[$c];

}

for?($c=(?$i+$j);?$c

$laststr??.=?$str[$c];

}

$str?=?($startstr?.?$laststr?);

return?$str;

}

//復制字符串

function?strcpy($s1,?$s2?)

{

if?(strlen($s1)==NULL?||?!isset(?$s2))?return;

for?($i=0?;?$i

$s2[]?=?$s1?[$i];

}

return?$s2;

}

//連接字符串

function?strcat($s1?,?$s2)

{

if?(!isset($s1)?||?!isset(?$s2))?return;

$newstr?=?$s1?;

for($i=0;?$i?

$newstr?.=?$st[$i?];

}

return?$newsstr;

}

//簡單編碼函數(與php_decode函數對應)

function?php_encode($str)

{

if?(?$str==''?&&?strlen(?$str)>128)?return?false;

for(?$i=0;?$i

$c?=?ord($str[$i?]);

if?($c>31?&&?$c?<107)?$c?+=?20?;

if?($c>106?&&?$c?<127)?$c?-=?75?;

$word?=?chr($c?);

$s?.=?$word;

}

return?$s;

}

//簡單解碼函數(與php_encode函數對應)

function?php_decode($str)

{

if?(?$str==''?&&?strlen($str?)>128)?return?false;

for(?$i=0;?$i

$c??=?ord($word);

if?(?$c>106?&&?$c<127?)?$c?=?$c-20;

if?($c>31?&&?$c

$word?=?chr(?$c);

$s?.=?$word?;

}

return?$s;

}

//簡單加密函數(與php_decrypt函數對應)

function?php_encrypt($str)

{

$encrypt_key?=?'abcdefghijklmnopqrstuvwxyz1234567890';

$decrypt_key?=?'ngzqtcobmuhelkpdawxfyivrsj2468021359';

if?(?strlen($str)?==?0)?return??false;

for?($i=0;??$i

for?($j=0;?$j?

if?($str[$i]?==?$encrypt_key?[$j]){

$enstr?.=??$decrypt_key[$j];

break;

}

}

}

return?$enstr;

}

//簡單解密函數(與php_encrypt函數對應)

function?php_decrypt($str)

{

$encrypt_key?=?'abcdefghijklmnopqrstuvwxyz1234567890';

$decrypt_key?=?'ngzqtcobmuhelkpdawxfyivrsj2468021359';

if?(?strlen($str)?==?0)?return??false;

for?($i=0;??$i

for?($j=0;?$j?

if?($str[$i]?==?$decrypt_key?[$j]){

$enstr?.=??$encrypt_key[$j];

break;

}

}

}

return?$enstr;

}

?>

總結

以上是生活随笔為你收集整理的php替换算法,PHP实现各种经典算法 || 我们的爱的博客的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。