PHP初學者常見問題集
1,如何連線連兩個字串?
答:在php中連線兩個字串可以直接使用“.”操作符號,例如$newStr=”Zhang”.”san”,在java中是使用“+”操作符號,不要混淆。
2,如何計算一個字串的長度?
答:$str=”test”;$length=strlen($str);即使用strlen(str)函式。
3,如何按照某個分割符拆分一個字串?
答:使用explode(delim,str)函式,例如$arr=explode(“::”,”a::bdf::dfsdf”);該函式返回一個陣列。在java中可以使用String物件的split函式。
4,如何獲取http請求中的引數值?
答:如果為GET請求,使用$_GET[paramName],如果為POST請求,使用$_POST[paramName],例如:$email=$_POST[“usermail”]。
5,php中是否可以像Java一樣使用類?
答:可以,但是機制和具體使用方式可能不太一樣。
6,是否可以舉一個使用for迴圈的例子?
答: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)函式,當然程式必須有許可權刪除該檔案才可以,我們所使用的php虛擬空間可能對一
些檔案是有限制的,所以可能會出現許可權錯誤。
9,我定義了一個類User,宣告瞭該類的一個方法getName(),為什麼我使用$user=new
User;$name=$user.getName()會報錯?
答:注意php中對類成員的引用方式,上面的引用應該為$name=$user->getName(),即使用->符號,而不是
Java中使用的“.”號。
10,我申請了一個不帶mysql支援的php虛擬空間,請問我該怎麼存取應用資料啊?
答:存取資料不一定要使用資料庫,使用檔案系統也是不錯的,另外即使使用資料庫,也不一定非要使用像mysql
、oracle等的這樣的資料庫,也可以使用一些文字資料庫,例如txtsql,這樣的話就不必去租用費用比較高的mysql
資料庫空間了。
11,我申請了一個不帶資料庫的php空間,我現在的應用資料是存在檔案中的,但是這會有一個安全問題,就是
訪問者可以通過url檢視到這些檔案的內容,我怎麼保護這些檔案內容呢?
答:建議的方式有三種:
1)如果你租用的php空間允許設定目錄的http訪問許可權,那麼設定一下即可。
2)可以對檔案內容進行加密,那麼即使被下載,也沒有多大的價值。
3)可以將這些檔案的字尾改為.php,即使用php檔案儲存應用資訊,這樣的話,訪問者就無法通過http訪問到
這些檔案的真實內容了,當然這些檔案中的內容必須是正確的php語法,而且內容要使用php語法中的隱藏語法
將資訊隱藏起來,例如一個存放帳號資訊的檔案如下:
users.php
<?php
/*
:::user1:password1::user2:password2::user3:password3:::
*/
?>
12, 如何對一個字串進行轉碼?
使用php的iconv函式,簽名為:
$str=iconv(fromEncode,toEncode,str);
例如:
$str=”php字串轉碼”;
$str=iconv(“utf-8″,”gbk”,$str);//將字串從utf-8格式轉換為gbk格式
轉碼是很重要的一個問題,例如目前許多部落格提供的rss都是utf-8返回的,因此需要通過轉化才能正確顯示。
13,如何讀取一個網頁的HTML內容?
PHP中檔案的概念和Java中檔案流的概念是類似的,許多檔案讀取的函式,其接受的輸入流不僅僅是本地檔案系統,也可以是網路檔案,下面介紹其中的一種方式:
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資料庫?
為了方便初學者能夠上手mysql的操作,我介紹一些常用的操作:
1)資料庫連線與關閉
$dbhost = “”;
$dbuser = “”;
$dbpw = “”;
$dbname = “”;
$link
= mysql_connect($dbhost, $dbuser, $dbpw) or die(“Could not connect:
“.mysql_error());
mysql_select_db($dbname);
…//此處是對資料庫具體的操作,後面的例子不再寫資料庫的連線和關閉操作
mysql_close($link);
2)向表中插入新資料
mysql_query(“insert into mytable(id,name) values(`”.$id.”`,`”.$name.”`)”);
上面是向mytable表的id和name欄位插入一條資料。
3)從表中查詢資料
$rs=mysql_query(“select *
from mytable mt where mt.id=`001`”);
4)從表中刪除資料
$rs=mysql_query(“delete
from mytable mt where mt.id=`001`”);
5)對於複雜查詢,例如select子句,mysql3.22以下版本不支援,因此許多時候php編寫複雜sql時會得不到結果,這其實不是php的錯,而是mysql的版本較低的緣故。
6)對於select返回的結果集,可以如下操作:
對於返回一條結果,可以如下:
$row=mysql_fetch_object($rs);
$id=$row->id;//id是欄位名稱,或者欄位的別名,以下同
$title=$row->title;
$asker=$row->asker;
對於返回多條結果,可以如下:
while($row=mysql_fetch_object($rs)){
$id=$row->id;
$title=$row->title;
$asker=$row->asker;
}
當然還有方法可以使得返回的結果為陣列,訪問也可以根據欄位的位置index值訪問,這個可以查詢相關手冊,就不介紹了。
相關文章
- 初學python的常見問題Python
- PHP 常見問題PHP
- React + Typescript領域初學者的常見問題和技巧ReactTypeScript
- redis 叢集常見問題 QARedis
- go語言初學者常見錯誤Go
- c++ 中vector 常見用法(給初學者)C++
- 初學者學Java常遇到的問題,我都給你回答了!Java
- Python學習常見問題分享!Python
- 常見問題
- Vue.JS 開發常見問題集錦Vue.js
- 學習WebFlux時常見的問題WebUX
- XSS常見問題
- Mysql:常見問題MySql
- MyBatis常見問題MyBatis
- 【Nginx】常見問題Nginx
- ndk 常見問題
- java 常見問題Java
- js常見問題JS
- Homestead 常見問題
- Apache 常見問題Apache
- Linux 常見問題Linux
- Git 常見問題Git
- swiper常見問題
- Composer 常見問題
- CSS常見問題CSS
- nginx 常見問題Nginx
- HTML常見問題HTML
- Git常見問題Git
- 前端常見問題前端
- 談談大資料採集和常見問題大資料
- 新手必看!使用New File Menu常見問題集錦
- PHP 安全問題入門:10 個常見安全問題 + 例項講解PHP
- Python初學者需要注意的問題Python
- phpMyAdmin工具常見問題PHP
- c++ 常見問題C++
- APatch常見問題解答
- 字串混淆常見問題字串
- RapidWeaver 8常見問題API
- Android Studio常見問題(+)Android