***

56598 ワード

今回は主にPHPの関数、配列、文字列について学びます.関数【1】-カスタム関数
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.'&nbsp';
						}
						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
        HTMLXML    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"
}