<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        PHP初學者常見問題集合 修正版(21問答)

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 19:03:00
        文檔

        PHP初學者常見問題集合 修正版(21問答)

        PHP初學者常見問題集合 修正版(21問答):1,如何連接連兩個字符串? 答:在php中連接兩個字符串可以直接使用.操作符號,例如$newStr=Zhang.san,在java中是使用+操作符號,不要混淆。 2,如何計算一個字符串的長度? 答:$str=test;$length=strlen($str);即使用s
        推薦度:
        導(dǎo)讀PHP初學者常見問題集合 修正版(21問答):1,如何連接連兩個字符串? 答:在php中連接兩個字符串可以直接使用.操作符號,例如$newStr=Zhang.san,在java中是使用+操作符號,不要混淆。 2,如何計算一個字符串的長度? 答:$str=test;$length=strlen($str);即使用s

        1,如何連接連兩個字符串?
        答:在php中連接兩個字符串可以直接使用“.”操作符號,例如$newStr="Zhang"."san",在java中是使用“+”操作符號,不要混淆。
        2,如何計算一個字符串的長度?
        答:$str="test";$length=strlen($str);即使用strlen(str)函數(shù)。
        3,如何按照某個分割符拆分一個字符串?
        答:使用explode(delim,str)函數(shù),例如$arr=explode("::","a::bdf::dfsdf");該函數(shù)返回一個數(shù)組。在java中可以使用String對象的split函數(shù)。
        4,如何獲取http請求中的參數(shù)值?
        答:如果為GET請求,使用$_GET[paramName],如果為POST請求,使用$_POST[paramName],例如:$email=$_POST["usermail"]。
        5,php中是否可以像Java一樣使用類?
        答:可以,但是機制和具體使用方式可能不太一樣。
        6,是否可以舉一個使用for循環(huán)的例子?
        答:
        代碼如下:

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

        7,如何在javascript中取得php中的變量?
        答:例子如下:
        代碼如下:

        <?php
        $username=$_POST["username"];
        ?>
        <script>
        var username="<?php echo $username ?>";
        </script>

        8,如何刪除一個文件?
        答:使用unlink(filename)函數(shù),當然程序必須有權(quán)限刪除該文件才可以,我們所使用的php虛擬空間可能對一
        些文件是有限制的,所以可能會出現(xiàn)權(quán)限錯誤。
        9,我定義了一個類User,聲明了該類的一個方法getName(),為什么我使用$user=new User;$name=$user.getName()會報錯?
        答:注意php中對類成員的引用方式,上面的引用應(yīng)該為$name=$user->getName(),即使用->符號,而不是
        Java中使用的“.”號。
        10,我申請了一個不帶mysql支持的php虛擬空間,請問我該怎么存取應(yīng)用數(shù)據(jù)???
        答:存取數(shù)據(jù)不一定要使用數(shù)據(jù)庫,使用文件系統(tǒng)也是不錯的,另外即使使用數(shù)據(jù)庫,也不一定非要使用像mysql
        、oracle等的這樣的數(shù)據(jù)庫,也可以使用一些文本數(shù)據(jù)庫,例如txtsql,這樣的話就不必去租用費用比較高的mysql
        數(shù)據(jù)庫空間了。
        11,我申請了一個不帶數(shù)據(jù)庫的php空間,我現(xiàn)在的應(yīng)用數(shù)據(jù)是存在文件中的,但是這會有一個安全問題,就是
        訪問者可以通過url查看到這些文件的內(nèi)容,我怎么保護這些文件內(nèi)容呢?
        答:建議的方式有三種:
        1)如果你租用的php空間允許設(shè)置目錄的http訪問權(quán)限,那么設(shè)置一下即可。
        2)可以對文件內(nèi)容進行加密,那么即使被下載,也沒有多大的價值。
        3)可以將這些文件的后綴改為.php,即使用php文件存儲應(yīng)用信息,這樣的話,訪問者就無法通過http訪問到
        這些文件的真實內(nèi)容了,當然這些文件中的內(nèi)容必須是正確的php語法,而且內(nèi)容要使用php語法中的隱藏語法
        將信息隱藏起來,例如一個存放帳號信息的文件如下:
        users.php
        代碼如下:

        <?php
        /*
        :::user1:password1::user2:password2::user3:password3:::
        */
        ?>

        12, 如何對一個字符串進行轉(zhuǎn)碼?
        使用php的iconv函數(shù),簽名為:
        $str=iconv(fromEncode,toEncode,str);
        例如:
        $str="php字符串轉(zhuǎn)碼";
        $str=iconv("utf-8","gbk",$str);//將字符串從utf-8格式轉(zhuǎn)換為gbk格式
        轉(zhuǎn)碼是很重要的一個問題,例如目前許多博客提供的rss都是utf-8返回的,因此需要通過轉(zhuǎn)化才能正確顯示。
        13,如何讀取一個網(wǎng)頁的HTML內(nèi)容?
        PHP中文件的概念和Java中文件流的概念是類似的,許多文件讀取的函數(shù),其接受的輸入流不僅僅是本地文件系統(tǒng),也可以是網(wǎng)絡(luò)文件,下面介紹其中的一種方式:
        代碼如下:

        function getRssContent($url){
        $handle = fopen ($url, "rb");
        $contents = "";
        $count=0;
        do {
        $data = fread($handle, 1000000);
        $count++;
        if (strlen($data) == 0) {
        break;
        }
        $contents .= $data;
        } while(true);
        fclose ($handle);
        return $contents;
        }

        14,PHP中如何操作mysql數(shù)據(jù)庫?
        為了方便初學者能夠上手mysql的操作,我介紹一些常用的操作:
        1)數(shù)據(jù)庫連接與關(guān)閉
        代碼如下:

        $dbhost = "";
        $dbuser = "";
        $dbpw = "";
        $dbname = "";
        $link = mysql_connect($dbhost, $dbuser, $dbpw) or die("Could not connect: ".mysql_error());
        mysql_select_db($dbname);
        ...//此處是對數(shù)據(jù)庫具體的操作,后面的例子不再寫數(shù)據(jù)庫的連接和關(guān)閉操作
        mysql_close($link);

        2)向表中插入新數(shù)據(jù)
        mysql_query("insert into mytable(id,name) values('".$id."','".$name."')");
        上面是向mytable表的id和name字段插入一條數(shù)據(jù)。
        3)從表中查詢數(shù)據(jù)
        $rs=mysql_query("select * from mytable mt where mt.id='001'");
        4)從表中刪除數(shù)據(jù)
        $rs=mysql_query("delete from mytable mt where mt.id='001'");
        5)對于復(fù)雜查詢,例如select子句,mysql3.22以下版本不支持,因此許多時候php編寫復(fù)雜sql時會得不到結(jié)果,這其實不是php的錯,而是mysql的版本較低的緣故。
        6)對于select返回的結(jié)果集,可以如下操作:
        對于返回一條結(jié)果,可以如下:
        代碼如下:

        $row=mysql_fetch_object($rs);
        $id=$row->id;//id是字段名稱,或者字段的別名,以下同
        $title=$row->title;
        $asker=$row->asker;

        對于返回多條結(jié)果,可以如下:
        代碼如下:

        while($row=mysql_fetch_object($rs)){
        $id=$row->id;
        $title=$row->title;
        $asker=$row->asker;
        }

        當然還有方法可以使得返回的
        結(jié)果為數(shù)組,訪問也可以根據(jù)字段的位置index值訪問,這個可以查詢相關(guān)手冊,就不介紹了。
        15,如果你的工程中使用HTML在線編輯器,那么FCKEditor可能是比較不錯的一個選擇,F(xiàn)CKEditor可以自己去網(wǎng)上下載,下載的地方很多,我介紹一下調(diào)用方式:
        首先將FCKEditor的目錄放到網(wǎng)站根目錄下,假設(shè)你在網(wǎng)站根目錄的/modules/cms/目錄下的edit.php中要引用FCKEditor,具體代碼如下:
        代碼如下:

        <?php
        $sBasePath = "../../fckeditor/";//fckeditor是FCKEditor的目錄
        $oFCKeditor = new FCKeditor('content') ;
        $oFCKeditor->BasePath= $sBasePath ;
        $oFCKeditor->Value="" ;
        $oFCKeditor->Width="666px";
        $oFCKeditor->Height="300px"
        ?>
        <div>
        <?php $oFCKeditor->Create();?>
        </div>

        16,如何在session中存儲數(shù)據(jù)?
        首先要啟動session機制,除了apache本身做一定的設(shè)置之外,在使用session的php頁面中,要先調(diào)用session_start()方法,表示在本頁面使用session。在session中存儲數(shù)據(jù)的具體方式如下:
        代碼如下:

        <?php
        session_start();
        $username="admin";
        session_register("username");
        ?>
        [code]
        那么在其它的頁面,想取得session中的用戶名,如下:
        [code]
        <?php
        $username=$_SESSION["username"];
        ?>

        同理,要判斷當前訪問的用戶是否已經(jīng)登錄也可以通過上面的方式進行:當用戶登錄之后,在session之中注冊用戶名,在需要session控制的php頁面中加入判斷,例如:
        代碼如下:

        if(!session_is_registered("username")){
        header("Location:login.php");
        }

        上面是通過判斷session中是否注冊了username變量來實現(xiàn)的。
        17,PHP中如何定義類及其成員屬性與操作,又如何調(diào)用?
        直接舉一個例子,應(yīng)該可以說明上面的問題:
        定義一個字符串處理工具類:StringUtils
        代碼如下:

        <?php
        class StringUtils{
        function StringUtils(){
        }
        function getLength($str){
        return strlen($str);
        }
        }
        ?>

        在php頁面中調(diào)用方式為:
        代碼如下:

        <?php
        include 'classes/com/xxx/StringUtils.php';
        $length=StringUtils::getLength("abcde");
        //或者
        $instance=new StringUtils;
        $length=$instance->getLength("abcde");
        ?>

        對于一個類的方法,一般有兩種調(diào)用方式,一種是當作靜態(tài)方法進行調(diào)用,通過::連接符,一種是當作實例方法進行調(diào)用,通過->連接符。雖然調(diào)用可以使用兩種方式調(diào)用,但是實際中一個類的方法是否為靜態(tài)方法,往往是已經(jīng)邏輯上定義好的,因此每一個方法,往往只使用某種方式調(diào)用,例如一個服務(wù)類中的方法,基本上應(yīng)該都是實例方法,而一個工具類中的方法,基本上都是類方法或者說靜態(tài)方法,例如:
        代碼如下:

        <?php
        class UserService{
        var $dbhost = "";
        var $dbuser = "";
        var $dbpw = "";
        var $dbname = "";
        function UserService(){
        }
        function login($username,$password){
        $link = mysql_connect($this->dbhost, $this->dbuser, $this->dbpw) or die("Could not connect: ".mysql_error());
        mysql_select_db($this->dbname);
        $rs=mysql_query("select count(*) as value from cieqas_users where userid='".$username."' and password='".$password."'");
        $row=mysql_fetch_object($rs);
        $value=$row->value;
        mysql_close($link);
        settype($value,"integer");
        if($value<=0){
        return false;
        }
        return true;
        }
        ?>

        另外,在實例方法中調(diào)用$this,才有實際的意義。
        18,如何設(shè)置一個變量的類型?
        PHP可以算作是弱類型語言的一種,不需要對變量進行強制類型定義,例如:
        $username="admin";
        $length=0;
        $obj=new MyClass;
        許多時候,需要將一個字符串變量轉(zhuǎn)換為int變量,或者反過來等等,該如何操作呢?其實可以使用settype方法,該方法可以指定變量的類型,簽名如下:
        settype(var,type)
        其中類型的值有boolean(bool)、integer(int)、float、string、array、object、null
        例如:
        $state="0";
        settype($state,"int");
        if($state==0){
        ...
        }
        19,如何將一個數(shù)組進行反向排列?
        通過array_reverse方法實現(xiàn),例如:
        代碼如下:

        $arr=array();
        $arr[0]=1;
        $arr[1]=2;
        $arr2=array_reverse($arr);

        20,在PHP中如何將一個時間正確的進行顯示?
        在php中通過time()方法返回自從 Unix 新紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數(shù),那么如何將該時間正確的顯示為本地正確時間,許多時候我們都使用php中的setLocale方法,指定當前的地域,但是我們往往得不到正確的時間,給大家介紹一個其它的解決方式,就是通過Javascript與php結(jié)合去解決,例如:
        代碼如下:

        var time="<?php echo time() ?>";
        var time=parseInt(time);
        var date=new Date(time*1000);
        var pattern="yyyy-MM-dd hh:mm:ss";
        var df=new SimpleDateFormat();
        var str=df.format(date);
        document.write(str);

        因此,可以將php中time()的值傳遞給Javascript,并做為Date對象的參數(shù),然后通過Javascript開源類庫JsJava的處理,即可。
        21,PHP在當今是非常流行的一門語言,到目前為止已經(jīng)形成了大量的函數(shù)庫,例如處理字符串的、數(shù)學的、XML的、文件的、SOAP的、網(wǎng)絡(luò)的等等,不過其在面向?qū)ο蠓矫?,還有一定程度的欠缺,然而也并不是說非要面向?qū)ο蟛拍芩闶且婚T如何如何的語言,然而在實際的網(wǎng)站或者項目開發(fā)中,僅僅是大量的函數(shù)庫有些時候感覺不是特殊的方便,尤其是有些時候,業(yè)務(wù)需要我們抽象出架構(gòu)層次以及各個對象,這個時候定義一套合適的業(yè)務(wù)類庫就比較合適了,畢竟當我們面對更高業(yè)務(wù)層面的開發(fā)時,我們需要封裝的層次更高,那么這個時候類和對象就提上日程了,不過目前使用php的各個函數(shù),感覺也是非常方便的,而且非常強大,這又讓我多少有些埋怨類似Java這樣的面向?qū)ο蟮恼Z言,做什么邏輯都要借助一大堆類來實現(xiàn),看來語言之間是需要互相學習的,而不是互相攻擊,解決問題促進行業(yè)和社會的發(fā)展才是最根本的。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        PHP初學者常見問題集合 修正版(21問答)

        PHP初學者常見問題集合 修正版(21問答):1,如何連接連兩個字符串? 答:在php中連接兩個字符串可以直接使用.操作符號,例如$newStr=Zhang.san,在java中是使用+操作符號,不要混淆。 2,如何計算一個字符串的長度? 答:$str=test;$length=strlen($str);即使用s
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲高清在线播放| 精品国产亚洲一区二区三区| 亚洲毛片免费视频| 免费播放一区二区三区| 亚洲色欲色欲综合网站| 免费无码VA一区二区三区| 久久夜色精品国产噜噜噜亚洲AV | 免费无码又爽又刺激高潮的视频| 亚洲一区电影在线观看| 久久99九九国产免费看小说| 456亚洲人成影院在线观| 男人j进女人p免费视频| 全亚洲最新黄色特级网站 | 亚洲狠狠婷婷综合久久蜜芽| 国产乱子影视频上线免费观看| 亚洲韩国精品无码一区二区三区| 中文字幕看片在线a免费| 国产亚洲婷婷香蕉久久精品| 亚洲日本在线免费观看| 亚洲伊人久久大香线蕉影院| 24小时日本在线www免费的| 五月天网站亚洲小说| 久草免费在线观看视频| 国内精品久久久久影院亚洲| 又爽又黄无遮挡高清免费视频 | 亚洲国产午夜精品理论片 | 精品多毛少妇人妻AV免费久久| 亚洲精品高清视频| 成熟女人牲交片免费观看视频| 黄页网址在线免费观看| 亚洲va在线va天堂va不卡下载| 91香蕉成人免费网站| 特黄aa级毛片免费视频播放| 精品久久久久久亚洲| 国产片AV片永久免费观看| 国产成人久久精品亚洲小说| 亚洲国产精品无码成人片久久| 一二三四影视在线看片免费| 精品国产呦系列在线观看免费| 亚洲福利视频一区二区三区| 日韩精品电影一区亚洲|