Revision: 2617
at March 15, 2007 06:53 by juno

Initial Code
```//--------------------
// åŸºæœ¬æ•°æ®ç»“æž„
//--------------------

//äºŒåˆ†æŸ¥æ‰¾ï¼ˆæ•°ç»„é‡ŒæŸ¥æ‰¾æŸä¸ªå…ƒç´ ï¼‰
function bin_sch(\$array, \$low, \$high, \$k){
if (\$low <= \$high){
\$mid = intval((\$low+\$high)/2);
if (\$array[\$mid] == \$k){
return \$mid;
}elseif (\$k < \$array[\$mid]){
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<\$n; \$i++){
if(\$array[\$i]==\$k){
break;
}
}
if (\$i<\$n){
return \$i;
}else{
return -1;
}
}

//çº¿æ€§è¡¨çš„åˆ é™¤ï¼ˆæ•°ç»„ä¸­å®žçŽ°ï¼‰
function delete_array_element(\$array, \$i)
{
\$len = count(\$array);
for (\$j=\$i; \$j<\$len; \$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<\$count; \$i++){
for(\$j=\$count-1; \$j>\$i; \$j--){
if (\$array[\$j] < \$array[\$j-1]){
\$tmp = \$array[\$j];
\$array[\$j] = \$array[\$j-1];
\$array[\$j-1] = \$tmp;
}
}
}
return \$array;
}

//å¿«é€ŸæŽ’åºï¼ˆæ•°ç»„æŽ’åºï¼‰
function quicksort(\$array) {
if (count(\$array) <= 1) return \$array;

\$key = \$array[0];
\$left_arr = array();
\$right_arr = array();

for (\$i=1; \$i<count(\$array); \$i++){
if (\$array[\$i] <= \$key)
\$left_arr[] = \$array[\$i];
else
\$right_arr[] = \$array[\$i];
}

\$left_arr = quicksort(\$left_arr);
\$right_arr = quicksort(\$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) && (\$start<0) && (\$length>strlen(\$str)+\$start)) return;

if (\$length == NULL) \$length = (strlen(\$str) - \$start);
if (\$start < 0){
for (\$i=(strlen(\$str)+\$start); \$i<(strlen(\$str)+\$start+\$length); \$i++) {
\$substr .= \$str[\$i];
}
}

if (\$length > 0){
for (\$i=\$start; \$i<(\$start+\$length); \$i++) {
\$substr .= \$str[\$i];
}
}

if (\$length < 0){
for (\$i=\$start; \$i<(strlen(\$str)+\$length); \$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) < strlen(\$s2)) return -1;
if (strlen(\$s1) > strlen(\$s2)) return 1;

for (\$i=0; \$i<strlen(\$s1); \$i++){
if (\$s1[\$i] == \$s2[\$i]){
continue;
}else{
return false;
}
}
return 0;
}

//æŸ¥æ‰¾å­—ç¬¦ä¸²
function strstr(\$str, \$substr)
{
\$m = strlen(\$str);
\$n = strlen(\$substr);
if (\$m < \$n) return false;

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<\$i; \$j++){
\$startstr .= \$str[\$j];
}
for (\$j=\$i; \$j<strlen(\$str); \$j++){
\$laststr .= \$str[\$j];
}
\$str = (\$startstr . \$substr . \$laststr);
return \$str;
}

//åˆ é™¤ä¸€æ®µå­—ç¬¦ä¸²
function str_delete(\$str, \$i, \$j)
{
for (\$c=0; \$c<\$i; \$c++){
\$startstr .= \$str[\$c];
}
for (\$c=(\$i+\$j); \$c<strlen(\$str); \$c++){
\$laststr .= \$str[\$c];
}
\$str = (\$startstr . \$laststr);

return \$str;
}

//å¤åˆ¶å­—ç¬¦ä¸²
function strcpy(\$s1, \$s2)
{
if (strlen(\$s1)==NULL || !isset(\$s2)) return;

for (\$i=0; \$i<strlen(\$s1); \$i++){
\$s2[] = \$s1[\$i];
}
return \$s2;
}

//è¿žæŽ¥å­—ç¬¦ä¸²
function strcat(\$s1, \$s2)
{
if (!isset(\$s1) || !isset(\$s2)) return;
\$newstr = \$s1;
for(\$i=0; \$i<count(\$s); \$i++){
\$newstr .= \$st[\$i];
}
return \$newsstr;
}

//ç®€å•ç¼–ç å‡½æ•°ï¼ˆä¸Žphp_decodeå‡½æ•°å¯¹åº”ï¼‰
function php_encode(\$str)
{
if (\$str=='' && strlen(\$str)>128) return false;

for(\$i=0; \$i<strlen(\$str); \$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<strlen(\$str); \$i++){
\$c = ord(\$word);
if (\$c>106 && \$c<127) \$c = \$c-20;
if (\$c>31 && \$c<107) \$c = \$c+75;
\$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<strlen(\$str); \$i++){
for (\$j=0; \$j<strlen(\$encrypt_key); \$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<strlen(\$str); \$i++){
for (\$j=0; \$j<strlen(\$decrypt_key); \$j++){
if (\$str[\$i] == \$decrypt_key[\$j]){
\$enstr .= \$encrypt_key[\$j];
break;
}
}
}

return \$enstr;
}```

Initial URL
`http://www.phpchina.com/?732/action_viewspace_itemid_2118.html`

Initial Description
`sorting, searching in array, some string function`

Initial Title
`åŸºæœ¬æ•°æ®ç»“æž„å’Œphpå†…ç½®å‡½æ•°`

Initial Tags
`data`

Initial Language
`PHP`