使用PHP重新實現PHP指令碼引擎內建函數

來源:互聯網
上載者:User

// 實在無聊,突發奇想,想把PHP裡面部分已經提供封裝好的函數重新使用PHP實現一遍,
// 於是便有了下面的代碼主要實現了PHP中部分字串處理函數,同時實現了一些PHP中
// 沒有,但是同樣有作用的字串處理函數同樣的這些函數,也能夠使用其他語言來實
// 現,比如用C/VBScript/Perl等等,那麼你就能夠有一個自己的函數庫.
// 以下函數不一定能夠成功運行,只是為了學習而已。
//
// 假如無非凡聲明,全部是由於heiyeluren原創,要使用任何函數都請保留作者資訊


// {{{ strlen()
/**
* Count string length
*
* @param string $str need count length string variable
* @return int return count result
*/
function strlen1($str)
{
if ($str == '')
return 0;

$count = 0;
while (1)
{
if ($str[$count] != NULL)
{
$count ;
continue;
}
else
break;
}
return $count;
}
// }}}


// {{{ substr()
/**
* Get sub string
*
* @param string $str need get sub string variable
* @param int $start start get sub string
* @param int $length need get string length
* @return string return sub string
*/
function substr1($str, $start, $length=0)
{
if ($str == '')
return;
if ($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 )

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.