***
56598 ワード
今回は主にPHPの関数、配列、文字列について学びます.関数【1】-カスタム関数
関数の呼び出し:例:
出力結果:
関数の戻り値:呼び出し元に戻り、デフォルトでnullを返します.
関数【2】-変数範囲1.ローカル変数
2.グローバル変数注意:PHP関数ではグローバル変数を直接使用することはできません.必要に応じてglobal宣言変数を使用する必要があります.
3.定数の定義
出力結果:
4.静的変数
関数【3】-パラメータの伝達1.パラメータ2を値で渡す.パラメータを参照で渡すには、次のようにします.
出力結果:
3.関数のデフォルトパラメータは次のとおりです.
出力結果:
4.可変長パラメータリストPHP提供、直接使用可能
この3つの関数は、カスタム関数の内部で使用でき、パラメータに関する情報を返すことができます.例:
出力結果:
例:
出力結果:
例:
出力結果:
5.可変関数(変数関数)例えば:
出力結果:
関数【4】-再帰関数再帰関数は、関数の内部で自分で自分の関数を呼び出す
出力結果:
再帰関数:1)関数は、呼び出された実行中にメモリに一時データを格納するための空間を割り当てます.関数は、実行中にデフォルトの間に関連付けられていません(静的変数を除いて、参照によって、グローバル変数).中の変数はデフォルトでローカル変数で、互いに影響しません!2)再帰関数は,関数の内部に適時に関数の実行を終了する条件が必要である.
関数【5】-内部(内蔵)関数PHPは私たちに多くの既成の関数や構造を提供して、私たちは実際の開発で直接使用することができます!
配列【1】-配列と作成配列の1.配列タイプ配列は複合データ型インデックス値である:中の各データに名前を付けることに相当する.インデックス配列名取得が整数である場合、この配列がインデックス配列2である.関連配列名取得が文字列タイプである場合、配列は関連配列2である.配列の作成
出力結果:
第2種
出力結果:
第3種
出力結果:
関連配列(Association Array):1番目
出力結果:
第2種
出力結果:
3つ目//2 D配列、多次元配列
出力結果:ソースコード:
配列【2】-遍歴関数遍歴配列:1.forループ:
出力結果:
次のように出力することもできます.
出力結果:
2.foreach文による配列の遍歴
例:
出力結果:
事前定義されたスーパーグローバル配列変数が定義されている(存在する)変数(格納されているデータのタイプは配列).スーパーグローバル:スーパーグローバル変数、役割ドメイン(有効領域)!
サーバ側にデータを渡す(データを提出する)主な2つの方法1.get方式例えば:?パラメータ名=パラメータ値&パラメータ名=パラメータ値...
サーバ側(要求されたphpファイルのこちら)では$GETが取得したG E Tインデックス値はパラメータ名、インデックス値に対応するデータはパラメータ値がv a r d u m p(_GETインデックス値はパラメータ名、インデックス値に対応するデータはパラメータ値がvar_dump(G ETインデックス値はパラメータ名、インデックス値に対応するデータはパラメータ値がvard ump(GET)
2.post方式はvar_dump(P O S T)例えばフォームp o s tで送られてきた!POST)例えばフォームpostで送られてきた!POST)例えばフォームpostで送られてきた!POSTで得られる!
文字列処理1、空白またはその他の文字関数1.trim
出力結果:
出力結果:
二、大文字と小文字の変換関数1.strtoupper
出力結果:
2.strtolower
出力結果:
三、文字列検索関数1.substr_count
出力結果:
2.strpos
出力結果:
3.strstr
出力結果:
四、文字列置換関数1.str_replace
出力結果:
五、htmlラベルに関する関数1.html lspecialchars
ページソース
2.strip_tags
ページソース
六、文字列切り取り関数1.substr
出力結果:
出力結果:
七、文字列区切り関数1.explode
出力結果:
2.str_split
出力結果:
function ([ 1, 2,.... n]){
// PHP ....
//......
return ;// , null
}
関数の呼び出し:例:
function add($a,$b){
echo $a+$b;
}
add(10,30);
?>
出力結果:
40
関数の戻り値:呼び出し元に戻り、デフォルトでnullを返します.
関数【2】-変数範囲1.ローカル変数
function test(){
$a=1;// ,
}
echo $a;
?>
2.グローバル変数注意:PHP関数ではグローバル変数を直接使用することはできません.必要に応じてglobal宣言変数を使用する必要があります.
$i=10;// ( )
function test(){
global $i;// $i ,
echo $i;
}
test();
?>
3.定数の定義
define('MY_NAME','zzh');
function test(){
echo MY_NAME;
}
test();
?>
出力結果:
zzh
4.静的変数
function test(){
static $a=10;
$a++;
echo $a;
}
test();
echo '
';
test();
echo '
';
test();
echo '
';
?>
11
12
13
// 。
関数【3】-パラメータの伝達1.パラメータ2を値で渡す.パラメータを参照で渡すには、次のようにします.
function test(&$a){
echo ++$a;
}
$i=10;
test($i);
echo '
'.$i;
?>
出力結果:
11
11
3.関数のデフォルトパラメータは次のとおりです.
function test($a=10){
echo ++$a;
}
test();
?>
出力結果:
11
4.可変長パラメータリストPHP提供、直接使用可能
func_get_args();
func_get_arg();
func_num_args();
この3つの関数は、カスタム関数の内部で使用でき、パラメータに関する情報を返すことができます.例:
function test(){
var_dump(func_get_args());//
}
test(1,2,3)
?>
出力結果:
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
例:
function test(){
var_dump(func_get_arg(0));//
}
test(1,2,3)
?>
出力結果:
int(1)
例:
function test(){
var_dump(func_num_args());//
}
test(1,2,3)
?>
出力結果:
int(3)
5.可変関数(変数関数)例えば:
function test(){
echo 'www!';
}
$a='test';// ,
$a();// test();
?>
出力結果:
www!
関数【4】-再帰関数再帰関数は、関数の内部で自分で自分の関数を呼び出す
function test($n){
echo $n.' ';
if($n>0){
test($n-1);
}
else{
echo '';
}
echo $n.' ';
}
test(3);
?>
出力結果:
3 2 1 0 0 1 2 3
再帰関数:1)関数は、呼び出された実行中にメモリに一時データを格納するための空間を割り当てます.関数は、実行中にデフォルトの間に関連付けられていません(静的変数を除いて、参照によって、グローバル変数).中の変数はデフォルトでローカル変数で、互いに影響しません!2)再帰関数は,関数の内部に適時に関数の実行を終了する条件が必要である.
関数【5】-内部(内蔵)関数PHPは私たちに多くの既成の関数や構造を提供して、私たちは実際の開発で直接使用することができます!
配列【1】-配列と作成配列の1.配列タイプ配列は複合データ型インデックス値である:中の各データに名前を付けることに相当する.インデックス配列名取得が整数である場合、この配列がインデックス配列2である.関連配列名取得が文字列タイプである場合、配列は関連配列2である.配列の作成
//$student[ ]=
$student[0]=10;
$student[1]=' ';
$student[2]=true;
$student[3]=11.1;
// print_r()
print_r($student);
var_dump($student);// var_dump
?>
出力結果:
Array ( [0] => 10 [1] => [2] => 1 [3] => 11.1 )
第2種
// , 0 。
$student[]=10;
$student[]=' ';
$student[]=true;
$student[]=11.1;
var_dump($student);
?>
出力結果:
array(4) { [0]=> int(10) [1]=> string(9) " " [2]=> bool(true) [3]=> float(11.1) }
第3種
//
//$student=array( => ,......);
//$student=array(10,' ',true,11.1);
//var_dump($student);
$student1=array(
0=>10,
1=>' ',
2=>true,
3=>11.1
);
var_dump($student1);
?>
出力結果:
array(4) { [0]=> int(10) [1]=> string(9) " " [2]=> bool(true) [3]=> float(11.1) }
array(4) { [0]=> int(10) [1]=> string(9) " " [2]=> bool(true) [3]=> float(11.1) }
関連配列(Association Array):1番目
$student['num']=10;
$student['name']=' ';
$student['sex']=true;
$student['grade']=11.1;
var_dump($student);
//
// [ ];
//echo $student[1];
?>
出力結果:
array(4) { ["num"]=> int(10) ["name"]=> string(9) " " ["sex"]=> bool(true) ["grade"]=> float(11.1) }
第2種
$student=array(
'num'=>11,
'name'=>' ',
'sex'=>true,
'grade'=>80.5
);
var_dump($student);
?>
出力結果:
array(4) { ["num"]=> int(11) ["name"]=> string(9) " " ["sex"]=> bool(true) ["grade"]=> float(80.5) }
3つ目//2 D配列、多次元配列
$student=arry(
0=>array(1,' ',true,60.5),
1=>array(2,' ',true,30.5),
2=>array(3,' ',false,60.3)
);
var_dump($student);
?>
出力結果:ソースコード:
array(3) {
[0]=>
array(4) {
[0]=>
int(1)
[1]=>
string(9) " "
[2]=>
bool(true)
[3]=>
float(60.5)
}
[1]=>
array(4) {
[0]=>
int(2)
[1]=>
string(9) " "
[2]=>
bool(true)
[3]=>
float(30.5)
}
[2]=>
array(4) {
[0]=>
int(3)
[1]=>
string(9) " "
[2]=>
bool(false)
[3]=>
float(60.3)
}
配列【2】-遍歴関数遍歴配列:1.forループ:
出力結果:
//6
2
次のように出力することもできます.
$arr=array(
'a','b','c','d','e','f'
);
for($i=0;$i<count($arr);$i++){
echo $arr[$i];
}
?>
出力結果:
abcdef
2.foreach文による配列の遍歴
foreach( as 1){
//
1
}
例:
//foreach
$arr=array(
'name'=>' ',
'num'=>10
);
foreach($arr as $value){
echo $value.'
';
}
?>
出力結果:
10
foreach( as 1=> 2){
//
1 ( )
1 ( )
}
事前定義されたスーパーグローバル配列変数が定義されている(存在する)変数(格納されているデータのタイプは配列).スーパーグローバル:スーパーグローバル変数、役割ドメイン(有効領域)!
サーバ側にデータを渡す(データを提出する)主な2つの方法1.get方式例えば:?パラメータ名=パラメータ値&パラメータ名=パラメータ値...
http://localhost/demo5_3/index.php? =
サーバ側(要求されたphpファイルのこちら)では$GETが取得したG E Tインデックス値はパラメータ名、インデックス値に対応するデータはパラメータ値がv a r d u m p(_GETインデックス値はパラメータ名、インデックス値に対応するデータはパラメータ値がvar_dump(G ETインデックス値はパラメータ名、インデックス値に対応するデータはパラメータ値がvard ump(GET)
2.post方式はvar_dump(P O S T)例えばフォームp o s tで送られてきた!POST)例えばフォームpostで送られてきた!POST)例えばフォームpostで送られてきた!POSTで得られる!
文字列処理1、空白またはその他の文字関数1.trim
:
$str=' abc ';
var_dump($str);
var_dump(trim($str));
?>
出力結果:
string(9) " abc "
string(3) "abc"
$str='abcabcdefac';
var_dump($str);
var_dump(trim($str,'bac'));
?>
出力結果:
string(11) "abcabcdefac"
string(3) "def"
二、大文字と小文字の変換関数1.strtoupper
$str='test';
var_dump($str);
$str1=strtoupper($str);
var_dump($str1);
?>
出力結果:
string(4) "test"
string(4) "TEST"
2.strtolower
$str='TeSt';
var_dump($str);
var_dump(strtolower($str));
?>
出力結果:
string(4) "TeSt"
string(4) "test"
三、文字列検索関数1.substr_count
$str='testteste';
var_dump(substr_count($str,'te'));
?>
出力結果:
int(3)
2.strpos
$str='testteste';
var_dump(strpos($str, 't1'));
if(strpos($str, 't')===false){
echo ' !';
}else{
echo ' !';
}
?>
出力結果:
bool(false)
!
3.strstr
$str='testteste';
var_dump($str);
var_dump(strstr($str,'s'));
var_dump(strstr($str,'s',true));
//true
?>
出力結果:
string(9) "testteste"
string(7) "stteste"
string(2) "te"
四、文字列置換関数1.str_replace
$str=array(
'abc123abc',
'123abcabc',
'abcab123c'
);
var_dump($str);
$str1=str_replace(array('1','2','3'),array(' ',' ',' '),$str);
// 1,2,3 , ,
var_dump($str1);
?>
出力結果:
array(3) {
[0]=>
string(9) "abc123abc"
[1]=>
string(9) "123abcabc"
[2]=>
string(9) "abcab123c"
}
array(3) {
[0]=>
string(15) "abc abc"
[1]=>
string(15) " abcabc"
[2]=>
string(15) "abcab c"
}
五、htmlラベルに関する関数1.html lspecialchars
HTML
$str = "This is some bold text.";
echo htmlspecialchars($str);
?>
ページソース
This is some <b>bold</b> text.
2.strip_tags
HTML、XML PHP
echo strip_tags("Hello world!");
?>
ページソース
Hello world!
六、文字列切り取り関数1.substr
$str='testdqwdwqdwqdqdwq';
echo substr($str,3,2);
//
?>
出力結果:
td
$str='test';
echo substr($str,-3,2);
//
出力結果:
es
七、文字列区切り関数1.explode
$str='test,test1,test2,test3';
var_dump(explode(',',$str));
?>
出力結果:
array(4) {
[0]=>
string(4) "test"
[1]=>
string(5) "test1"
[2]=>
string(5) "test2"
[3]=>
string(5) "test3"
}
2.str_split
str_split()
$str='test';
var_dump(str_split($str));
?>
出力結果:
array(4) {
[0]=>
string(1) "t"
[1]=>
string(1) "e"
[2]=>
string(1) "s"
[3]=>
string(1) "t"
}