検索
ホームページphp教程php手册PHP初心者のためのよくある質問集 改訂版(21問と回答)

PHP初心者のためのよくある質問集 改訂版(21問と回答)

Jun 13, 2016 pm 12:18 PM
php使用初心者できる存在するどうやってよくある問題本物答え接続するQ&A集める

1. 2 本の弦を接続するにはどうすればよいですか?
答え: PHP で 2 つの文字列を接続するには、$newStr="Zhang"."san" などの "." 演算子記号を直接使用できます。混乱しないでください。
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 のようにクラスを使用できますか?
A: はい、ただしメカニズムと具体的な使用方法は異なる場合があります。
6. for ループの使用例を教えてください。
答え:

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


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


7. JavaScript で変数を取得するにはどうすればよいですか?
回答: 例は次のとおりです:

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


$username= $_POST["username"];
<script> <BR>var username="<?php echo $username ?>"; ;/script> <BR><BR> <BR>8. ファイルを削除するには? </script>

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



コードをコピー

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

/* :::user1:password1::user2:password2::user3:password3:::

*/

?>


12. 文字列をトランスコードするには?
PHP の iconv 関数を使用します。署名は次のとおりです:
$str=iconv(fromEncode,toEncode,str);
例:

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



コードをコピー

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

function getRssContent($url){ $handle = fopen ( $ url, "rb"); $contents = ""; do {

$data = fread($handle,

$count;)
if (strlen($data) == 0) {
break;
}
$contents .= $data;
} while(true); ) ;
$content を返す
}


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值访问,这个可以查询相关手册,就不介绍了。
15,如果你的工程中使用HTML在线编辑器,那么FCKEditor可能是比较不错的一个选择,FCKEditor可以自己去网上下载,下载的地方很多,我介绍一下调用方式:
首先将FCKEditor的目录放到网站根目录下,假设你在网站根目录的/modules/cms/目录下的edit.php中要引用FCKEditor,具体代码如下:

复制代码 代码如下:


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


Create();?>


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

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


session_start ();
$username="admin";
?> 次に、他のページでは、次のように、セッション名でユーザーを取得します。
[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 つは :: コネクタを介して静的メソッドとして呼び出す方法、もう 1 つは -> コネクタを介してインスタンス メソッドとして呼び出す方法です。呼び出しは 2 つの方法で呼び出すことができますが、実際には、クラスのメソッドが静的メソッドであるかどうかは論理的に定義されることが多いため、サービス クラスのメソッドなど、各メソッドは特定の方法でのみ呼び出されることがよくあります。基本的にはインスタンス メソッドである必要があり、ツール クラスのメソッドは基本的にクラス メソッドまたは静的メソッドです。例:


コードをコピー

コードは次のとおりです。 : 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) または die("接続できませんでした: ".mysql_error());
mysql_select_db($this->dbname); 「cieqas_users の値として count(*) を選択します (userid='".$username."' およびpassword='".$password."'");
$row=mysql_fetch_object($rs); $value=$row->value;
mysql_close($link);
if($valuereturn false;
}
return true;
}
?>


さらに、インスタンス メソッドで $this を呼び出すことには実際の意味があります。
18. 変数の型を設定するには?
PHP は、変数の必須の型定義を必要としない弱い型指定言語とみなすことができます。例:
$username="admin";
$obj= new MyClass;
多くの場合、文字列変数を int 変数に変換したり、その逆に変換したりする必要があります。実際、変数の型を指定できる settype メソッドを使用できます。署名は次のとおりです。

settype(var,type)
型の値には、boolean (bool)、integer ( int)、float、string、array、object、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);
var date=new Date(time*1000);
var pattern="yyyy-MM-dd hh:mm:ss" ;
var df=new SimpleDateFormat( );
var str=df.format(date);

PHP の time() の値を Javascript に変換し、それを Date オブジェクトのパラメーターとして使用し、JavaScript オープン ソース クラス ライブラリ JsJava を通じて処理します。
21. PHP は現在非常に人気のある言語であり、文字列処理、数学、XML、ファイル、SOAP、ネットワークなどの多数の関数ライブラリが作成されています。オブジェクト指向の側面では、ただし、実際の Web サイトやプロジェクトの開発では、単に関数ライブラリが多いだけではないと感じることがあります。ビジネスでアーキテクチャ レベルと各オブジェクトを抽象化する必要がある場合に特に便利です。結局のところ、より高いビジネス レベルでの開発に直面する場合、適切なビジネス クラス ライブラリを定義することがより適切です。より高いレベルのカプセル化が必要なため、現時点ではクラスとオブジェクトが検討されていますが、現在、PHP のさまざまな機能を使用すると、Java 指向のオブジェクトのロジックに多少の不満が生じます。多くのクラスの助けを借りて実装する必要があります。言語は相互に攻撃するのではなく、相互に学び、問題を解決し、産業と社会の発展を促進することが最も基本的なことのようです。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター