ホームページ > バックエンド開発 > PHPチュートリアル > PHP初心者のためのよくある質問集 改訂版(21の質問と回答)_PHPチュートリアル

PHP初心者のためのよくある質問集 改訂版(21の質問と回答)_PHPチュートリアル

WBOY
リリース: 2016-07-21 15:40:07
オリジナル
980 人が閲覧しました

1. 2 本の弦を接続するにはどうすればよいですか?
回答: PHP で 2 つの文字列を接続するには、$newStr="Zhang"."san" などの "." 演算子記号を直接使用できます。Java では "+" 演算子記号を使用しないでください。混乱します。
2. 文字列の長さを計算するには?
答え: $str="test";$length=strlen($str); つまり、strlen(str) 関数を使用します。
3. 特定の区切り文字に従って文字列を分割するにはどうすればよいですか?
回答: $arr=explode("::","a::bdf::dfsdf"); のように、explode(delim,str) 関数を使用します。この関数は配列を返します。 JavaではStringオブジェクトのsplit関数が使えます。
4. http リクエストのパラメータ値を取得するには?
回答: GET リクエストの場合は、$_GET[paramName] を使用します。POST リクエストの場合は、$_POST[paramName] を使用します (例: $email=$_POST["usermail"])。
5. PHP では Java のようにクラスを使用できますか?
回答: はい、ただしメカニズムと具体的な使用方法は異なる場合があります。
6. for ループの使用例を教えてください。
答え:

コードをコピーします コードは次のとおりです:

for($i=0;$iecho $i
}

7; PHPのJavaScript変数でそれを取得するには?
答え: 例は次のとおりです:
コードをコピーします コードは次のとおりです:

$username=$_POST["username"]
?> script> var username=" ";


8. ファイルを削除するには?
回答: unlink(filename) 関数を使用します。もちろん、プログラムにはファイルを削除する権限が必要です。使用する PHP 仮想空間には一部のファイルに制限があるため、権限エラーが発生する可能性があります。
9. User クラスを定義し、このクラスのメソッド getName() を宣言しました。$user=new User;$name=$user.getName() を使用するとエラーが報告されるのはなぜですか?
回答: PHP でのクラス メンバーの参照方法に注意してください。上記の参照は $name=$user->getName() である必要があります。つまり、"." 記号の代わりに記号を使用します。
ジャワ。
10. mysql サポートのない php 仮想空間を申請しました。どうすればアプリケーション データにアクセスできますか?
回答: データにアクセスするためにデータベースを使用する必要はありません。また、データベースを使用する場合でも、mysql
や oracle などのデータベースを使用する必要はありません。 txtsql などのテキスト データベースを使用することもできます。この場合、比較的高価な mysql データベース スペースを借りる必要はありません。
11、データベースなしで PHP スペースを申請しました。現在のアプリケーション データはファイルに保存されていますが、これにはセキュリティ上の問題があります。つまり、訪問者は URL を通じてこれらのファイルの内容を閲覧できます。どうすれば保護できますか。これらのファイルの内容はどうなるのでしょうか?
回答: 推奨される方法は 3 つあります:
1) レンタルしている PHP スペースでディレクトリの http アクセス許可を設定できる場合は、それを設定します。
2) ファイルの内容は暗号化されるため、ダウンロードしてもあまり価値はありません。
3) これらのファイルのサフィックスを .php に変更することもできます。つまり、PHP ファイルを使用してアプリケーション情報を保存することもできます。もちろん、訪問者は http 経由でこれらのファイルの実際のコンテンツにアクセスすることはできません。これらのファイルの内容は PHP 構文である必要があり、情報を非表示にするためにコンテンツは PHP 構文の非表示構文を使用する必要があります。たとえば、アカウント情報を保存するファイルは次のとおりです。コード

コードは次のとおりです:


/*
:::user1:password1::user2:password2::user3:password3:::
*/
?> 12、文字列をトランスコードするにはどうすればよいですか?
PHP の iconv 関数を使用します。署名は次のとおりです:
$str=iconv(fromEncode,toEncode,str); 例: $str="php string transcoding"; gbk",$str);//文字列を utf-8 形式から gbk 形式に変換します トランスコーディングは非常に重要な問題です。たとえば、現在多くのブログで提供されている RSS は utf-8 で返されるため、正しく表示するための変換に成功しました。 13. Web ページの HTML コンテンツを読むには?
PHP のファイルの概念は、Java のファイル ストリームの概念に似ています。多くのファイル読み取り関数は、ローカル ファイル システムだけでなくネットワーク ファイルからの入力ストリームも受け入れます。その方法の 1 つを以下に紹介します。
コードをコピーします

コードは次のとおりです:


function getRssContent($url){
$handle = fopen ($url, "rb");
$count=0; {
$data = fread($handle, 1000000);
if (strlen($data) == 0) {
}
$contents .= $data ;
fclose ($handle);
$contents を返す


14. PHP で mysql データベースを操作するには?
初心者が mysql 操作を簡単に開始できるように、一般的に使用される操作をいくつか紹介します:
1) データベースの接続と終了
コードをコピーします コードは次のとおりです:

$dbhost = "";
$dbpw = "";
$dbname = "";
$link = mysql_connect($dbhost, $dbpw) または die("接続できませんでした: "。 mysql_error());
mysql_select_db($ dbname);
...//以下の例では、データベースの接続および終了操作を記述しません
mysql_close($link);

2) 新しいデータをテーブルに挿入します
mysql_query ("insert into mytable(id,name) names('".$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 より前のバージョンではサポートされていないため、複雑な SQL を作成するときに PHP が結果を取得できないことがよくあります。これは実際にはそうではありません。 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;
}


もちろん、返される結果は配列であり、フィールドの位置インデックス値に基づいてアクセスすることもできます。これについては、関連するマニュアルを参照してください。
15. プロジェクトで HTML オンライン エディターを使用する場合は、FCKEditor をオンラインでダウンロードするのが良いでしょう。呼び出し方法を紹介します。
まず FCKEditor のディレクトリを配置します。 Web サイトのルート ディレクトリで、/modules/cms/ ディレクトリの edit.php で FCKEditor を参照するとします。具体的なコードは次のとおりです:


コードをコピーします

。コードは次のとおりです:
$sBasePath = "../../fckeditor/";//fckeditor は FCKEditor のディレクトリです $oFCKeditor = new FCKeditor('content') ; oFCKeditor->BasePath= $sBasePath ;
$oFCKeditor->Value="" ;
$oFCKeditor->Height="300px"
< div>
Create( );?>


16.
まず、Apache 自体に特定の設定を行うことに加えて、セッションを使用する PHP ページで、最初に session_start() メソッドを呼び出して、このページでセッションが使用されていることを示す必要があります。セッションにデータを保存する具体的な方法は次のとおりです。



コードをコピーします。 コードは次のとおりです。

session_start();
$username="admin"; ("username");
?>
[code] 次に、セッション内のユーザー名を取得したい場合は、次のようにします。 [code] $username=$_SESSION ["username"];
?>


同様に、現在訪問しているユーザーがログインしているかどうかを確認するには、ユーザーがログインした後、ユーザー名をセッションに登録し、セッション制御が必要な PHP ページへの判定。例:



コードをコピーします

コードは次のとおりです:


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

上記はユーザー名がセッションに登録されているかどうかを判定する変数が実装されています。 17. PHP でクラスとそのメンバーの属性と操作を定義する方法、およびそれらを呼び出す方法? 直接的な例で上記の問題を説明します: 文字列処理ツール クラスを定義します: StringUtils

コードをコピーします

コードは次のとおりです:

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

php ページでの呼び出しメソッドは次のとおりです:
コードをコピーします コードは次のとおりです:

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

クラス メソッドの場合、通常、それを呼び出す方法が 2 つあります1 つは、静的メソッドとして呼び出すには :: コネクタを使用し、インスタンス メソッドとして呼び出すには -> コネクタを使用する場合です。呼び出しは 2 つの方法で呼び出すことができますが、実際には、クラスのメソッドが静的メソッドであるかどうかは論理的に定義されることが多いため、サービス クラスのメソッドなど、各メソッドは特定の方法でのみ呼び出されることがよくあります。 、基本的にはインスタンス メソッドである必要がありますが、ツール クラスのメソッドは基本的にクラス メソッドまたは静的メソッドです。例:
コードをコピー コードは次のとおりです:

class UserService{
var $dbhost = "";
var $dbpw = "";
function UserService(){
}
function login($username,$ パスワード) {
$link = mysql_connect($this->dbhost, $this->dbuser, $this->dbpw) または die("接続できませんでした: ".mysql_error())
mysql_select_db($this -> ;dbname);
$rs=mysql_query("userid='".$username."' およびpassword='".$password."'" の cieqas_users からの値として count(*) を選択します
$row =mysql_fetch_object ($rs);
$value=$row->value;
settype($value<=0){
}
return true;
}
?>


さらに、インスタンス メソッドで $this を呼び出すことには実用的な意味があります。
18. 変数の型を設定するには?
PHP は弱い型指定の言語と見なすことができ、次のような変数の型定義を必要としません。文字列変数を int 変数に、またはその逆に変換するにはどうすればよいですか?実際、変数の型を指定できる settype メソッドを使用できます。署名は次のとおりです:
settype(var,type)
型の値にはブール (bool)、整数 (int)、float が含まれます。 、文字列、配列、オブジェクト、null
例:
$state="0";
if($state==0){
...
}
19.配列を反転するにはどうすればよいですか?
array_reverse メソッドによって実現されます。例:



コードをコピーします。 コードは次のとおりです。


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

20. PHP で時刻を正しく表示するには? php では、 time() メソッドは Unix の新元号 (グリニッジ標準時、1970 年 1 月 1 日 00:00:00) から現在時刻までの秒数を返します。それでは、時刻をローカル時刻として正しく表示する方法を説明します。多くの場合、php で setLocale メソッドを使用して現在の地域を指定しますが、正しい時刻を取得できないことがよくあります。たとえば、JavaScript と php を組み合わせて解決する方法を紹介します。 コードをコピーします
コードは次のとおりです:


var time="";
var time=parseInt(time);時間 * 1000);
var パターン = "yyyy-MM-dd hh:mm:ss";
var str=df.format(str);


したがって、PHP の time() の値を Date オブジェクトのパラメーターとして Javascript に渡し、それを Javascript オープン ソース クラス ライブラリ JsJava を通じて処理することができます。
21. PHP は今日非常に人気のある言語であり、これまでに文字列処理、数学、XML、ファイル、SOAP、ネットワークなどの多数の関数ライブラリが形成されてきましたが、その他のオブジェクト指向の観点からも同様です。ただし、オブジェクト指向でなければ良い言語とは言えませんが、実際の Web サイトやプロジェクトの開発では、関数ライブラリが多いだけでは特別ではないと感じることがあります。利便性を考慮して、特にビジネスでアーキテクチャ レベルと各オブジェクトを抽象化する必要がある場合は、より高いビジネス レベルでの開発に直面する場合、適切なビジネス クラス ライブラリを定義する方が適切です。カプセル化のレベルが高いため、現時点ではクラスとオブジェクトが検討されていますが、現在、PHP のさまざまな機能を使用すると、Java 言語やロジックのようなオブジェクト指向のプログラムに多少の不満が生じます。言語は相互に攻撃するのではなく、相互に学び、問題を解決し、産業と社会の発展を促進することが最も基本的なことであると思われます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/321467.html技術記事 1. 2 本の弦を接続するにはどうすればよいですか? 回答: PHP で 2 つの文字列を接続するには、$newStr="Zhang"."san" などの "." 演算記号を直接使用できます。Java では、"+" 演算記号を使用します。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート