ホームページ > バックエンド開発 > PHPチュートリアル > PHP の一般的な関数と一般的なトラブルシューティングの質問_PHP チュートリアル

PHP の一般的な関数と一般的なトラブルシューティングの質問_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:37:08
オリジナル
1085 人が閲覧しました

首先介绍下比较简单但必不可少且实用的知识,可以当手册查询,适合像我一样的新手看。

PHP常用库函数介绍

一、PHP字符串操作常用函数
1.确定字符串长度
int strlen(string str)
2.比较两个字符串
a. strcmp函数对两个字符串进行二进制安全的比较,并区分大小写
int strcmp(string str1,string str2)
b. 以不区分大小写的方式比较两个字符串
int strcasecmp(string str1,string str2)

3.求两个字符串相同部分
int strspn(string str1,string str2)
4.求两个字符串的不同部分
5.int strcspn(string str1,string str2)
6.处理字符串大小写
a. 将字符串全部转换为小写
string strtolower(string str)
b. 将字符串全部转化为大写
string strtoupper(string str)
c. 将字符串第一个字符大写
string ucfirst(string str)
d. 把字符串中每个单词的首字符转换为大写
string ucwords(string str)
7.字符串与HTML相互转换
a. 将换行符转换为HTML终止标记
string bl2br(string str)
b. 将特殊字符转换wieldHTML等价形式(不解析格式)
string htmlentities(string str[,int quote_style[,int charset]])
string htmlspecialchars(string str[,int quote_style[,string charset]])
c. 将HTML转换为纯文本,移除所有的php和html标签
string strip_tags(string str[,string allowable_tags])
d. 将文本转换为HTML等价形式
array get_html_translaction_table(int table[,int quote_style])
e. 创建一个自定义的转换清单
string strtr(string str,array replacements)
8.正则表达式函数的替代函数
a. strtok函数根据预定义的字符串列表来解析字符串
string strtok(string str,string tokens):返回直到遇到tokens之前的所有内容
b. 根据预定义的定界符分析字符串
array explode(string separator,string str[,int limit]):分割字符串
c. 将数组转换为字符串
string implode(string delimiter, array array)
d. 找到字符串的第一次出现
int strpos(string str,string substr[,int offset])
e. 找到字符串的最后一次出现
int strrpos(string str,char substr[,offset])
f. 用另外一个字符串替代字符串的所有实例
mixed str_replace(string occurrence,mixed replacement,mixed str[,int count])
g. 获取字符串的一部分strstr返回字符串中预定义字符串第一次出现开始的剩余部分
string strstr(string str,string occurrence)
h. 根据预定义的偏移返回字符串一部分
string substr(string str,int start[,ing length]):start可为负数,表示倒数第几开始
i. 确定字符串出现的频率
int substr_count(string str,string substring)
j. 用另一个字符串替换一个字符串的一部分
string substr_replace(string str,string replacement,int start[,int length])
9.填充和剔除字符串
a. 从字符串开始出裁剪字符
string ltrim(string str[,string charliset])
b. 从字符串结尾裁剪字符
string rtrim(string str[,string charliset])
c. 从字符串两端裁剪字符
string trim(string str[,string charliset])
d. 填充字符串
string str_pad(string str,int length[,string pad_string[,int pad_type]])
10.字符和单词计数
a. 字符串中字符计数
mixed count_chars(string str[,mode])
b. 字符串中单词总数计数
mixed str_word_count(string str[,int format])
二、PHP Web开发中常用的三个表单验证函数

(1)isset();——适合于检测是否存在这个参数。用来避免引用不存在的变量

定义和作用范围:用于测试一个变量是否具有值(包括0,FALSE,或者一个空字串都返回true,但不能是NULL),即:“http://localhost/?fo=”也是可以通过检测,因此不适用。但如果是“http://localhost/”参数中并不含fo参数,就可以用isset来检测,此时isset($_GET['fo'])返回false

不适用于:该函数不适合于验证html表单中的文本的有效方式。要检查用户输入文本是否有效,可以用empty();

(2)empty();——最好用的一个函数,用于检查变量是否具有空值

 定义和作用范围:用于检查变量是否具有空值:包括:空字串,0,null 或false,这些都返回false,即:“http://localhost/?fo=”或“http://localhost/?fo=0”时,empty检测出来的结果都是ture

不适用范围:不适用于检测可为0的参数

(3)is_numeric();——检查变量是否为数字

定义和作用范围:检查变量是否为数字,只适用于检测数字

不适用范围:但假如参数名不存在,会出错,因此不适合于第一层检测

もう 1 つの便利な検証関数は checkdate(month,day,$year) です。これは、特定の日付が存在するか、または過去に存在したかを確認するために使用されます

包括的な例:

これはフォームです:

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




< ;meta http-equiv ="Content-Type" content="text/html; charset=gb2312" />
フォーム検証の例


< ;/body>


有効な値を渡します 空の値を渡します ; 値 0 を渡します



性別:男性a href="?sex=f">性別:女性



;/a>





[code]
これは検証です
[code]ini_set(" display_errors",1);
//ini_set("error_reporting",E_ALL); print_r
error_reporting(E_ALL);

$a=NULL;
if(isset($a))echo '変数 $a の isset が true ';

echo '

isset状況:

';
if(isset($_GET['fo'])){
echo '変数 'fo' の isset は true であり、変数利用可能です ';
}else{
echo '変数 'fo' の isset は false、変数は設定されていません';
}

echo '

空の状況:

';
if(empty ($ _GET['fo'])){
echo '変数 'fo' の空の値は true、つまり null 値または無効な値です';
}else{
echo '変数の空の値変数 'fo' は false で、値があります';
}

echo '

is_numeric case:

';
if(is_numeric($_GET['fo'])){ / /パラメータにfoパラメータが無い場合はエラーとなります。
echo '変数 'fo' の is_numeric は true、数値です';
}else{
echo '変数 'fo' の is_numeric は false、数値ではありません';
}

echo "< ;h2>$_GET[' fo']=''の場合:";
if($_GET['fo']==''){ //パラメータにfoが無い場合パラメータを指定するとエラーが発生します。
echo 'fo には値がありません。空の文字列';
}elseif($_GET['fo']!=''){
echo 'fo には値がありますが、''ではありません。';
}

echo " < ;h2>$_GET['sex']='m': ";
if($_GET['sex']=='m'){ //パラメータに性別変数がない場合エラーが発生します。
echo '男性';
}elseif($_GET['sex']=='f'){
echo '女性';
}
?>

3. その他の一般的に使用されるライブラリ関数

(1) ini_set ini_get——動作設定パラメータのリスト
プログラムの異なるプラットフォーム上での互換性を高めるために、多くの場合、現在の Php 動作環境パラメータを取得する必要があります。
私たちがよく使うもの:
フォームの送信時にデータをエスケープする (スラッシュを追加する) かどうかを決定するために、magic_quotes_gpc ステータスを取得します。
プログラムの実行時間を延長するために、max_execution_time を設定します。
プロジェクトを維持するために、error_reporting を設定します。開発と運用 ステージの切り替え;
memory_limitの設定、メモリの増加など...
(2) ini_set(string varname, string newvalue): //環境設定のパラメータを設定します
ini_get(string varname): //環境設定
PHPのパラメータ ini_set関数はオプションに値を設定しますが、スクリプトが終了するとこの設定も無効になります。すべてのオプションが関数で設定できるわけではありません。設定できる具体的な値については、マニュアルのリストを確認してください
実際、PHPのini_set関数とini_getを組み合わせると非常に優れています。たとえば、独自のインクルード ファイル パスを設定ファイルに追加したいが、php.ini を変更する権限がある場合は、2 つの関数
ini_set ( 'include_path' 、ini_get ( 'include_path' ) ) を組み合わせることができます。 ':/your_include_dir :' );
(3)chdir(dirname(__FILE__)); //global.php があるディレクトリに切り替えます
(4)ob_start('ui_handler');//出力バッファハンドルを設定しますシステムホームページである ui_handler へ ui_handler 関数の定義内容
(5) int intval(mixed var, int [base]);
この関数は変数を整数型に変換できます。省略されたパラメータのbaseは変換のベースとなり、デフォルト値は10です。変換された変数 var は、配列またはクラスを除く任意の型の変数にすることができます。
(6) error_reporting(report_level) 関数 - PHP のエラー報告レベルを設定し、現在のレベルを返します
report_level の可能な値は、0、1、2、4、8、16、32、...、4096 です, 8191
例: 上記のオプションを任意の数「または」接続して (OR または | を使用)、必要なすべてのエラー レベルをレポートできます。たとえば、次のコードは、ユーザー定義のエラーと警告をオフにし、特定の操作を実行した後、元のエラー レベルに戻ります:

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

// エラー報告を無効にする

error_reporting(0);

//実行時エラーを報告

error_reporting(E_ERROR | E_WARNING | E_PARSE);

//すべてのエラーを報告

error_reporting(E_ALL);

?>

FAQ
1. rand(min,max) と mt_rand(min,max) の違い オプションのパラメーター min と max が指定されていない場合、mt_rand() は 0 から RAND_MAX までの擬似乱数を返します。たとえば、5 から 15 までの範囲の乱数が必要な場合は、mt_rand(5, 15) を使用します。
古い libc 乱数ジェネレーターの多くには、不確実で未知の特性があり、速度が遅いです。 PHP の rand() 関数は、デフォルトで libc 乱数ジェネレーターを使用します。 mt_rand() 関数は非公式にこれを置き換えるために使用されます。この関数は、乱数生成器としてメルセンヌ ツイスターの既知の機能を使用しており、libc が提供する rand() よりも平均して 4 倍高速に乱数値を生成できます。
2. PHP echo、print、print_r、printf、sprintf、var_dump 関数の違いと使い方
1) echo
echo() は実際には関数ではなく、PHP ステートメントであるため、括弧を使用する必要はありません。 。ただし、複数の引数を echo() に渡したい場合は、括弧を使用すると解析エラーが発生します。さらに、echo は void を返し、値を返さないため、値の代入には使用できません。
例:
コードをコピー コードは次のとおりです:
echo "55nav"; // 55nav
echo ("55nav"); // エラーが発生しました。複数のパラメータを渡すことはできません。括弧
echo "55nav"," com"," is", " web"; // 括弧を使用しない場合は、複数の値をカンマで区切って出力します。 55nav com is web
echo " 55nav は良い Web です。"; // 改行してもしなくても、最終的な表示は 1 行になります。 55nav は良い Web です。
echo "$fistname com"; // If $firstname = "55nav", 55nav com.
echo '$firstname com'; // 一重引用符を使用しているため、$firstname の値は出力されませんが、$firstname com12
?>
2) print
print() は同じですecho() として使用しますが、エコー速度は print よりも少し速くなります。これも実際には関数ではないため、括弧を使用する必要はありません。ただし、print() に複数の引数を渡したい場合は、括弧を使用すると解析エラーが発生します。 print は常に 1 を返すことに注意してください。これは echo とは異なります。つまり、print を使用して値を割り当てることができますが、実際的な意味はありません。
例:

コードをコピーします コードは次のとおりです:
echo $a; // $a の値は 14 です
?>;

3) print_r 関数 - つまり、print事前印刷 変数の値を定義します
print_r 関数は、変数に関するわかりやすい情報を印刷します。
構文:mixed print_r (mixed $expression [, bool return])
変数が文字列、整数、または浮動小数点の場合、その値が直接出力されます。変数が配列の場合は、読みやすいようにフォーマットされた配列が出力されます。 、つまり、キーと値に対応する形式です。オブジェクトオブジェクトについても同様です。 print_r には 2 つのパラメータがあり、1 つ目は変数で、2 つ目は true に設定すると文字列が返され、それ以外の場合はブール値 TRUE が返されます。
例:
コードをコピーします コードは次のとおりです:

$c = print_r($a);
echo $c; $c の値は TRUE
$c = print_r($a, ture);
echo $c; // $c の値は文字列 55nav
?>

4) printf 関数はフォーマットされた値を返します。弦。
構文: printf(format,arg1,arg2,arg++)
パラメータの format は、パーセント記号 ("%") で始まり変換文字で終わる、変換された形式です。使用可能な形式値は次のとおりです:
* %% – パーセント記号を返します
* %b – 2 進数
* %c – ASCII 値に従った文字
* %d – 符号付き 10 進数
* %e – 連続表記 (例: 1.5e+3)
* %u – 符号なし 10 進数
* %f – 浮動小数点数 (ローカル設定を認識)
* %F – 浮動小数点数 (ローカル設定を認識しない)
* %o – 8 進数
* %s – 文字列
* %x – 16 進数 (小文字)
* %X – 16 進数 (大文字)
arg1、arg2、arg++ およびその他のパラメーターは、メイン文字列のセミコロン (%) 記号に挿入されます。関数は段階的に実行され、最初の % 記号で arg1 が挿入され、2 番目の % 記号で arg2 が挿入されます。 arg 引数よりも % 記号の方が多い場合は、プレースホルダーを使用する必要があります。プレースホルダーは % 記号の後に挿入され、数字とその後に「$」が続きます。数値を使用して表示されるパラメータを指定できます。詳細については、例を参照してください。
例:

コードをコピー コードは次のとおりです:
printf("My name is %2$s %1$s","55nav", "com"); // 以下のパラメータが表示される位置を示すために 1$ または 2$ を追加します。この行は、My name is com 55nav
?>
5) sprintf 関数
この関数は printf と同じ方法で使用されます。唯一の違いは、この関数がフォーマットされた文字列を出力するのではなく、変数に書き込むことです。
例:

コードをコピーします コードは次のとおりです:
$out = sprintf("My name is %1$s %2$s","55nav", "com");
echo $out //私の名前は 55nav com を出力します
?> ;
6) var_dump 関数
機能: 変数の内容、型、または文字列の内容、型、長さを出力します。デバッグによく使用されます。
例:

コードをコピーします コードは次のとおりです:
var_dump($a) //int(100)
$a=100.356;
var_dump; ($a) ; //float(100.356)
?>

http://www.bkjia.com/PHPjc/736795.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/736795.html技術記事まずは、私のような初心者向けに、マニュアルとして参考にできる、比較的簡単ですが必須かつ実践的な知識を紹介します。一般的な PHP ライブラリ関数の紹介 1. PHP 文字列操作の一般的な関数...
ソース:php.cn
前の記事:IP_PHP チュートリアルに基づいて領域名情報を決定する PHP サンプル コード 次の記事:PHPのマジックメソッドの中国語説明オブジェクト指向_PHPチュートリアル
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
関連トピック
詳細>
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート