當前位置:首頁 » 編程語言 » phpforstep

phpforstep

發布時間: 2022-11-07 22:38:50

① 如何對php字元串中的每一個字元操作

http://cn2.php.net/manual/zh/function.chr.php

http://cn2.php.net/manual/zh/function.ord.php

用這兩個函數實現最好,php處理字元的能力沒有c語言那麼強。

把這句:$resultString.=$str[$i]+1;

改成:$resultString.=chr(ord($str[$i])+1);

echodecode('abcde');//輸出bcdef

echodecode('xyz');//輸出yz{

<?php

functiondecode($str){

$resultString="";

for($i=0;$i<strlen($str);$i++){

$resultString.=chr(ord($str[$i])+1);//把字元轉換成ascii碼+1再轉回去

}

return$resultString;

}
echodecode('abcde');
echo'</br>';
echodecode('xyz');
?>

② thinkphp 如何從第二條開始循環

{forstart="開始值"end="結束值"comparison=""step="步進值"name="循環變數名"}
{/for}

//輸出其中的第5~15條記錄
{volistname="list"id="vo"offset="5"length='10'}
{$vo.name}
{/volist}

③ For to Step在PHP裡面用什麼表達

<?php

for($k=10;$k<=$to;$k+=4){

}

④ thinkphp5怎麼用內置標簽for

用法:

<forstart="開始值"end="結束值"comparison=""step="步進值"name="循環變數名">
</for>

開始值、結束值、步進值和循環變數都可以支持變數,開始值和結束值是必須,其他是可選。comparison 的默認值是lt;;name的默認值是i,步進值的默認值是1,舉例如下:

<forstart="1"end="100">
{$i}
</for>

解析後的代碼是

for($i=1;$i<100;$i+=1){
echo$i;
}

⑤ php中如何建立函數庫

Step 1 =>

php的擴展模塊都放在 ext/ 目錄下,比如說 snmp模塊、mysql模塊。 我們要建立自己的模塊,就要在ext目錄下為自己的模塊建一個目錄。比如,我們要做一個分析config文件的模塊,命名為pconfig模塊(parse config的簡寫),需在ext下建立目錄pconfig。將我寫好的7個文件到該目錄下,另外需對主目錄下的configure和internal_functions.c作一些修改。

Step 2 =>

Makefile.am Makefile.in

是模板文件,用戶執行configure時,會調用這兩個文件,生成編譯時所用的Makefile文件。修改時將小寫的pconfig換成你自己的模塊名,別忘了把大寫的PCONFIG也替換掉(不要告訴我你不會vi的替換語句)。config.m4也是執行configure將會調用的檢測腳本程序,以後我們來討論這些腳本程序的更深入的修改。現在你只需要把pconfig該成你的模塊就可以了。對config.h.stub和setup.stub也如法炮製。其實setup.stub也沒什麼用。

Step 3 =>

php3-pconfig.h 頭文件中

extern php3_mole_entry pconfig_mole_entry;

#define pconfig_mole_ptr &pconfig_mole_entry

#define phpext_pconfig_ptr pconfig_mole_ptr

這幾行定義了模塊的入口,將入口注冊到php後,php會通過模塊入口找到你寫的函數



下面幾個函數定義是用宏進行定義的,展開以後其實就是 php3_minit_pconfig , php3_rinit_pconfig ……分別在你的模塊初試化或結束時被調用,如果你的模塊很簡單,也就不需要這些定義了



extern PHP_MINIT_FUNCTION(pconfig);

extern PHP_RINIT_FUNCTION(pconfig);

extern PHP_MSHUTDOWN_FUNCTION(pconfig);

PHP_MINFO_FUNCTION(pconfig);



這是你的函數聲明,將來寫在php腳本語句中的函數名就是在PHP_FUNCTION中定義的名字。

PHP_FUNCTION(pconfig_test);

如果有多個,還可以繼續往下加

PHP_FUNCTION(pconfig_parsefile);

PHP_FUNCTION(pconfig_release); …….



Step 4 =>

接下來我們看最重點的C代碼了

function_entry pconfig_functions[] = {

PHP_FE(pconfig_test, NULL)

{NULL, NULL, NULL}

};

定義的是你的函數的入口(前面我們提到過模塊的入口),按照格式將你在頭文件中定義的函數寫進去吧。注意,這是用宏定義的,不要管語法是否正確。以後我們具體討論這些宏的用法。

php3_mole_entry pconfig_mole_entry = {

"pconfig", pconfig_functions, PHP_MINIT(pconfig), PHP_MSHUTDOWN(pconfig), PHP_RINIT(pconfig), NULL, PHP_MINFO(pconfig), STANDARD_MODULE_PROPERTIES

};

注冊模塊的入口信息,比如模塊名,函數介面,初試化模塊將調用的函數等等,如果你的模塊不執行復雜操作的話,可以忽略掉他們,寫成

php3_mole_entry pconfig_mole_entry = {

"pconfig", pconfig_functions, NULL,NULL,NULL,NULL,NULL,STANDARD_MODULE_PROPERTIES

};

Step 5 =>

寫你自己的函數

在頭文件和function_entry處,我們已經定義了自己的函數pconfig_test,現在我們就來實現pconfig_test的功能。就比如執行兩個數相加的和吧。

static void _php3_pconfig_test(INTERNAL_FUNCTION_PARAMETERS)

{ ......

}

PHP_FUNCTION(pconfig_test)

{

_php3_pconfig_test(INTERNAL_FUNCTION_PARAM_PASSTHRU);

}

當系統調用pconfig_test時,會調用你的_php3_pconfig_test函數,當然你也可以把_php3_pconfig_test里的內容直接寫在PHP_FUNCTION(pconfig_test)中,這樣做只是程序結構比較清晰。注意:不要將_php3_pconfig_test命名成php3_pconfig_test,PHP_FUNCTION(pconfig_test)宏展開後實際上就是php3_pconfig_test!

Step 6 =>

好了,現在我們開始修改configure,在echo $ac_n "checking for MySQL support""... $ac_c" 1>&6的前面(當然,如果你熟悉configure的話,可以加在任何合適的地方)加上下面幾句話

if test "${with_pconfig+set}" = set; then

withval="$with_pconfig"

# Add your lib in here

EXTRA_LIBS="$EXTRA_LIBS"

# Add your include path in here

INCLUDES="$INCLUDES"

EXT_SUBDIRS="$EXT_SUBDIRS pconfig"

EXT_LIBS="$EXT_LIBS pconfig/libphpext_pconfig.a"

EXTINFO_DEPS="$EXTINFO_DEPS ../ext/pconfig/extinfo.c.stub"

EXT_STATIC="$EXT_STATIC pconfig"

fi

修改internal_functions.c,在頭文件定義中加入#include "ext/pconfig/php3_pconfig.h"

在zend_mole_entry數組中加入phpext_pconfig_ptr,



Step 7 =>

從新configure,帶上需要的參數,不要忘記的是在參數里加入 --with-pconfig



Step 8 =>

index.php3

<? echo pconfig_test(123,678)."

"; ?>

執行%>php index.php3

810

⑥ 如何對php.tools.for.vs裡面的php的版本升級

到php官網下載最新的php,當前最新的版本是5.6.10,具體的如下:
http://windows.php.net/download#php-5.6

2
在目錄「C:\Program Files (x86)\IIS Express\PHP」下面新建目錄 v5.6.10,
並將剛才下載的包解壓到這個目錄中,如下圖所示:

END
修改IIS
1
打開「控制面板」->「系統和安全」->「管理工具」->
"Internet Information Services (IIS)管理器"

2
找到 php Manager

3
選擇「PHP Step」->"Register new PHP version"->"C:\Program Files (x86)\IIS Express\PHP\v5.6.10\php-cgi.exe"->確定

END
修改VS選項
選擇"Visual Studio 2015"->"Tools"->"Options"->"PHP Tools"->"Interpreter"->"Steup"->"PHP path",選擇
"C:\Program Files (x86)\IIS Express\PHP\v5.6.10"

點擊 Enable XDebug extension,在彈出的界面選擇 download

由於我的php的版本是32位,5.6.10的,線程安全版,所以我下載的是
PHP 5.6 VC11 TS(32 bit)

將包解壓到 "C:\Program Files (x86)\IIS Express\PHP\v5.6.10\ext\php_xdebug-2.3.2-5.6-vc11.dll"
打開 "C:\Program Files (x86)\IIS Express\PHP\v5.6.10\php.ini",在文件的後面添加如下代碼:

[WebPIChanges]error_log = "C:\Windows\Temp\php-5.6.10_errors.log"upload_tmp_dir = "C:\Windows\Temp\"session.save_path = C:\Windows\tempcgi.force_redirect = 0cgi.fix_pathinfo = 1fastcgi.impersonate = 1fastcgi.logging = 0max_execution_time = 300date.timezone = Asia/Bruneiextension_dir = "C:\Program Files (x86)\IIS Express\PHP\v5.6.10\ext\"

[XDEBUG]
zend_extension="C:\Program Files (x86)\IIS Express\PHP\v5.6.10\ext\php_xdebug-2.3.2-5.6-vc11.dll"
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_mode = req

重新啟動vs,查看vs選項

⑦ ThinkPHP模板里怎麼使用 for循環

ThinkPHP模板里使用 for循環

①使用For標簽

用法:

<forstart="開始值"end="結束值"comparison=""step="步進值"name="循環變數名"></for>

開始值、結束值、步進值和循環變數都可以支持變數,開始值和結束值是必須,其他是可選。comparison 的默認值是lt;;name的默認值是i,步進值的默認值是1,

舉例如下:

<for start="1" end="100">{$i}</for>

解析後的代碼是:

for ($i=1;$i<100;$i+=1){ echo $i;}

②使用Php代碼

Php代碼可以和標簽在模板文件中混合使用,可以在模板文件裡面書寫任意的PHP語句代碼 ,包括下面兩種方式:

第一種:使用php標簽

例如:

<php>echo'Hello,world!';</php>

我們建議需要使用PHP代碼的時候盡量採用php標簽,因為原生的PHP語法可能會被配置禁用而導致解析錯誤。

第二種:使用原生php代碼

<?phpecho'Hello,world!';?>

注意:php標簽或者php代碼裡面就不能再使用標簽(包括普通標簽和XML標簽)了,因此下面的幾種方式都是無效的:

<php><eqname='name'value='value'>value</eq></php>

Php標簽裡面使用了eq標簽,因此無效

更多使用幫助請參見官網手冊:http://document.thinkphp.cn/manual_3_2.html

⑧ php知識框架總結

php知識框架總結

篇一:php基礎知識點總結

PHP語言基礎簡單整理

1.開始結束標記的格式只有在沒有判斷語句時才能使用。

對表單傳遞的變數進行編碼和解碼:PHP中實現對查詢字元串進行URL編碼可以通過函數urlencode()實現,該函數的使用格式如下:string urlencode(string str);對URL編碼後的查詢字元串進行解碼,可以通過urldecode()函數實現,該函數的使用格式如下:string urldecode(string str);

15.PHP連接資料庫

步驟: 一、建立連接------mssql_connect(server,uid,pwd);

二、指定database-------mssql_select_db(databasename);

三、執行sql------mssql_query($sql,$link);

四、處理記錄集-------資源類型數據,格式:bof---數據---eof

五、以特定格式讀取數據-----mssql_fetch_array()....

六、釋放相關資源、關閉連接------mssql_free_result($result);mssql_close();

16.數組:php的數組由鍵值和value值組成

定義:$array = array("鍵值"=>"value","鍵值"=>"value","鍵值"=>"value");如果不給鍵值賦值,默認從0開始的int值

相關函數:(1)in_array("值",數組名); 返回bool型-----查看數組中是否存在某value值

(2)array_key_exists("key值",數組名); 返回bool型-----查看數組中是否存在某鍵值

(3)array_keys(數組名);---將數組鍵值返回出來形成一個新數組,此鍵值作為新數組的value值

(4)array_values(數組名);---將數組value值返回出來形成一個新數組,此值作為新數組的value值

(5)key(數組名);----返回當前指針指向的元素key值

(6)current(數組名);----返回當前指針指向的元素value值

(7)next(數組名);----挪動當前數組指針到下一步

(8)reset(數組名);----恢復數組指針,指向第0個元素

(9)end(數組名);----將指針挪向最後一個元素

(10)prev(數組名);----將指針向前挪動一位

(11)foreach(數組名 as $key=>$value)

{

$key是鍵值,$value是value值,實現數組遍歷

}

(12)each(數組名);----將當前數組元素依次取出(自動挪動指針)並放到一個新的數組中

(13)array_shift(數組名);----返回數組中第一個元素值

(14)array_pop(數組名);----返回數組最後一個元素值

(15)array_push(數組名,value);----向數組中追加元素

(16)array_unshift(數組名,value);----在數組最前面添加元素

(17)array_pad(數組名,數組長度,value);----向數組中追加多個元素,對數組副本操作,不改變原數組,返回一個新數組

(18)count();----返回個數

(19)array_unique(數組名);----去掉數組中重復部分,操作數組副本,不改變原數組,返回新數組

(20)sort(數組名);----從小到大升序排列數組value值,一般針對int型value值,返回bool型,成功返回true

(21)rsort(數組名);----從大到小,逆序排列數組value值

(22)array_combine(數組1,數組2);----將數組1的value值作為key,數組2的value值作為value值,形成一個新數組

(23)array_merge(數組1,數組2,數組3...);----合並多個數組,將多個數組value值依次合並,合為一個數組

(24)array_slice(數組名,int,int);----從目標數組截取元素,形成一個新數組。開始位置為第二個參數,結束位置為第三個參數。若第三個參數不寫,則默認是截取到最後。

(25)array_splice();----用法同array_slice();但是其截取部分從原數組中刪除

(26)explode("字元依據",目標字元串);----將字元串按照一定的依據拆分成數組

(27)implode("字元依據",目標數組);----將數組元素按照依據組合成一個字元串

(28)range(mixed low,mixed high[number step]);----生成數組,例:range(1,100,8);---即從1到100,每8位取一個數,組成一個數組

(29)shuffle(數組名);----用於將數組進行隨機排序

(30)array_sum(數組名);----對數值型數組元素值進行求和

(31)array_chunk(數組名,int);----分割目標數組,返回一個新數組,其中數組的每個元素都是一個一維數組,int參數為分割成的一維數組的長度

17.Cookie和會話控制:

Cookie是在HTTP協議下,伺服器或腳本可以維護客戶工作站上信息的一種方式。Cookie是由Web伺服器保存在客戶機上的小文本文件,它可以包含有關用戶的信息。無論何時用戶鏈接到伺服器,Web站點都可以訪問Cookie信息。

存在server端的是session,存在client端的是cookie,它們用來存儲全局變數。 設定Cookie值:setcookie("名","值");

通過Cookie數組取值:$_cookie["名"];

設置生成期:setcookie("名","值",time()+1800);生成期為當前時間加1800秒之後。

刪除cookie: setcookie("名","",time()-3600);中間值設置為空,並將當前時間減去3600秒。 Cookie數組:setcookie("名[key]","值"); 使用foreach讀取。

在PHP中可以通過$_COOKIE預定義變數訪問Cookie的值。如果設置了php.ini中的register_long_arrays,那麼就能夠應用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中還設置了register_globals,那麼就可以在PHP中作為全局變數使用各個Cookie值。但是,更改php.ini中的兩個文件設置,容易對PHP的安全構成威脅,不推薦使用該方法,建議使用更新的$_COOKIE。

會話ID的傳送

會話ID的傳送有兩種方式,一種是Cookie方式,另一種是URL方式。

Cookie傳送方式:

這是最簡單的會話方式,但是有些客戶可能限制使用Cookie,如果客戶限制使用Cookie的條件下,仍要繼續工作,那就要通過其他方式來實現了。

URL傳送方式:

在該方式中,URL本身用來傳送會話,會話標志被簡單地附加到URL的尾部,或者作為窗體中的一個變數來傳遞。例:

⑨ PHP中如何把字元串按一定位元組數變成數組

自行修改$str字元串,以及$step變數即可。

<?php
$str = "";
$str_len = strlen($str);
$ret = array(); // 最終返回的數組
$step = 10; // 每10個字元長度存成一個數組
for ($i=0; $i<$str_len; $i+=$step) {
if (strlen($str) >= $step) {
$ret[] = substr($str, 0, $step);
$str = substr($str, $step);
} else {
$ret[] = $str;
}
}
print_r($ret);
?>

熱點內容
微信里的密碼和賬號在哪裡 發布:2025-01-11 22:46:04 瀏覽:750
java字元串個數統計 發布:2025-01-11 22:45:05 瀏覽:541
完美國際2捏臉資料庫 發布:2025-01-11 22:45:04 瀏覽:279
php淘寶互刷平台源碼 發布:2025-01-11 22:43:49 瀏覽:215
劍俠情緣緩存怎麼清理 發布:2025-01-11 22:33:56 瀏覽:316
win7旗艦版怎麼設置密碼 發布:2025-01-11 22:21:09 瀏覽:144
被害人訪問 發布:2025-01-11 22:06:24 瀏覽:366
朋友圈上傳長視頻方法 發布:2025-01-11 22:01:41 瀏覽:357
我的世界ice伺服器被炸罰款 發布:2025-01-11 21:54:36 瀏覽:725
linuxphpini配置 發布:2025-01-11 21:54:35 瀏覽:481