まず最初に、私のような初心者に適した、参考用のマニュアルとして使用できる、比較的簡単ですが必須かつ実践的な知識を紹介します。
一般的な PHP ライブラリ関数の紹介
1. PHP 文字列操作の一般的な関数
1. 文字列の長さを決定する
int strlen(string str)
2. 2 つの文字列を比較します
a. 2 つの文字列をバイナリセーフで大文字と小文字を区別する方法で比較します
int strcmp(string str1,string str2)
b. 2 つの文字列を大文字と小文字を区別しない方法で比較します
int strcasecmp(string str1,string str2)
int strspn(string str1, string str2)
4. 2 つの文字列の異なる部分を検索します
5.int strcspn(string str1, string str2)
6. 文字列のサイズを処理します
a をすべて変換します。文字列を小文字に変換します
string strto lower(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. 特殊文字をワイルドHTML の同等の形式に変換します。形式)
string htmlentities(string str[,int quote_style[,int charset]])
string
htmlspecialchars(string str[,int quote_style[, string charset]])c. HTML をプレーン テキストに変換し、すべてを削除します。 php タグと HTML タグ
string Stripe_tags(string str[,string allowed_tags])
d. テキストを HTML に相当するものに変換します
array get_html_translaction_table( int table[,int quote_style])
e カスタム変換リストを作成します
string strtr(string str) 、配列置換)
8.
正規表現の置換関数関数a. 事前定義された文字に基づく strtok 関数
文字列を解析する文字列リスト
string strtok(string str,string tokens): トークンが見つかるまですべてを返します
b.定義済みの区切り文字に従って文字列
arrayexplode(string separator,string str[, int limit]): string を分割します
c. 配列を string に変換します
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(stringoccurrence,mixedreplacement,mixedstr[,intcount])
g 文字列 strstr の一部を取得すると、文字列内の事前定義された文字列の最初の出現から始まる残りの部分が返されます
string strstr(string str,事前定義に従って、オフセットは文字列の一部を返します
string substr(string str,int start[,ing length]): start は、最後から 2 番目の番号の始まりを示す負の数にすることができます
i . 文字列の出現頻度を決定します
int substr_count(string str,string substring)
j. 文字列の一部を別の文字列に置き換えます
string
substr_replace
(string str,string replace,int start[,int length])9 . 文字列を埋めて削除しますa. 文字列から文字をトリミングします
string ltrim(string str[,string charliset])
b. 文字列の末尾から文字をトリミングします
string rtrim(string str[,string charliset])
c . 文字列の両端から文字をトリミングします
string margin (string str[,string charliset])
d。および単語数
a. 文字列内の文字数
mixed count_chars(string str[,mode])
b. 文字列内の合計単語数の数
mixed
str_word_count
(string str[,int format])
2. PHP Web開発でよく使われる3つのフォーム検証関数
(1) isset();——このパラメータが存在するかどうかを検出するのに適しています。存在しない変数の参照を避けるために使用されます定義とスコープ: 変数に値があるかどうかをテストするために使用されます (0、FALSE を含む、または空の文字列は true を返しますが、NULL にすることはできません)。つまり、「http:// localhost/?fo=” もテストに合格する可能性があるため、適用されません。ただし、「http://localhost/」パラメータに fo パラメータが含まれていない場合は、isset を使用してそれを検出できます。この時点では、isset($_GET['fo']) は false を返します
この関数は適用されません。 HTML フォーム内のテキストを効率的に検証する方法には適していません。ユーザー入力テキストが有効かどうかを確認するには、empty();
(2) empty(); - 変数が null 値を持つかどうかを確認する最適な関数です
定義とスコープ:変数に null 値があります: 空の文字列、0、null、または false を含み、これらはすべて false を返します。つまり、 "http://localhost/?fo=" または "http://localhost/?fo=0" 、 empty で検出された結果はすべて true です
適用外: 0 になる可能性のあるパラメーターの検出には適していません
(3)is_numeric();——检查变量是否为数字
定义和作用范围:检查变量是否为数字,只适用于检测数字
不适用范围:但假如参数名不存在,会出错,因此不适合于第一层检测
另外还有一个好用的验证函数是checkdate(month,day,$year),用来确认某个日期是否存在或在过去是否存在
综合示例:
这是表单:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>表单验证示例</title> </head> <body> </body> <p> <a href="?fo=Jack">传有效值</a> <a href="?fo=">传空值</a> <a href="?fo=0">传0值</a> <br /><br /> <a href="?sex=m">性别:男</a> <a href="?sex=f">性别:女</a> <br /><br /> <a href="/">清空</a> <br /><br /> <input type="text" value="<?php echo $_GET['fo']!=''?$_GET['fo']:'';?>" size="155" /> </p> </html>[code] 这是验证 [code]<?php 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为真'; echo '<h2>isset的情形:</h2>'; if(isset($_GET['fo'])){ echo '变量\'fo\'的isset为真,变量可用'; }else{ echo '变量\'fo\'的isset为假,无变量设置'; } echo '<h2>empty的情形:</h2>'; if(empty($_GET['fo'])){ echo '变量\'fo\'的empty为真,即空值或无效值'; }else{ echo '变量\'fo\'的empty为假,有值'; } echo '<h2>is_numeric的情形:</h2>'; if(is_numeric($_GET['fo'])){ //在参数中无fo参数时,则出错。 echo '变量\'fo\'的is_numeric为真,是数字'; }else{ echo '变量\'fo\'的is_numeric为假,不是数字'; } echo "<h2>\$_GET['fo']=''的情形:</h2>"; if($_GET['fo']==''){ //在参数中无fo参数时,则出错。 echo 'fo无值,空的字符串'; }elseif($_GET['fo']!=''){ echo 'fo有值,不为\'\'.'; } echo "<h2>\$_GET['sex']='m'的情形:</h2>"; if($_GET['sex']=='m'){ //当参数中无sex变量时就会出错。 echo '男的'; }elseif($_GET['sex']=='f'){ echo '女的'; } ?>
三、其他常用库函数
(1)ini_set ini_get——可操作配置参数列表
为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都要获取当前Php的运行环境参数。
比如我们常用到的:
获取 magic_quotes_gpc 状态,来决定当表单提交时我们是否转义(addslashes)数据;
设定 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,那么你可以结合两个函数:
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 或 |),这样可以报告所有需要的各级别错误。例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:
<?php //禁用错误报告 error_reporting(0); //报告运行时错误 error_reporting(E_ERROR | E_WARNING | E_PARSE); //报告所有错误 error_reporting(E_ALL); ?>
以上がPHPの共通関数と関数ライブラリのまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。