PHPはゼロからノートを学ぶ

10793 ワード

1、スクリプトラベル

2、出力
ブラウザでテキストを出力する基礎命令はechoとprintの2種類あります.
echo-1つ以上の文字列printを出力できます-1つの文字列のみを出力できます.戻り値の合計は1 echoです.出力の速度はprintより速く、echoには戻り値がありません.printには戻り値1があります.
PHP is fun!";
echo "Hello world!
"; echo "I'm about to learn PHP!
"; echo "This", " string", " was", " made", " with multiple parameters."; ?>

3、変数
$で始まり、大文字と小文字が敏感です.

4、弱いタイプ
弱いタイプ、タイプを宣言する必要はありません
5、定数
<1>(スクリプト全体)自動グローバル
<2>$の先頭がありません
<3>(定数名)大文字と小文字を敏感に設定できる
, true);
echo greeting;
?>

<4>関数内で定数を直接参照する変数ほど面倒な必要はありません
 



  


<5>関数外は、関数内で定義された定数を直接参照できます.
 



  



6、変数作用域
<1>関数内でグローバル変数に直接アクセスできない
       :

"; echo " x : $x"; // $x, echo "
"; echo " y : $y"; } myTest(); echo "

:

"; echo " x : $x"; echo "
"; echo " y : $y"; ?>

<2>$GLOBALを使用して、関数内でグローバル変数にアクセスできます.
<3>staticドメイン
関数内に定義された変数は、呼び出すたびに空になりますが、staticを追加すると保存できます.
 
グローバル変数についてstaticの有無に差はありません
 
ローカル変数に対してstaticを追加しても彼の役割ドメインは変更されません
 

7、データ型
String(文字列)、Integer(整数)、Float(浮動小数点型)、Boolean(ブール型)、Array(配列)、Object(オブジェクト)、NULL(Null値)
アリーがすべてを解決したと言ってもいい
<1>整形
"; 
$x = -345; //    
var_dump($x);
echo "
"; $x = 0x8C; // var_dump($x); echo "
"; $x = 047; // var_dump($x); ?>
<2>浮動小数点型
"; 
$x = 2.4e3;
var_dump($x);
echo "
"; $x = 8E-5; var_dump($x); ?>
<3>ブール型
$x=true;
$y=false;
<4>配列

-配列の中にはキーの値のペアがあり、+で2つの配列を1つの配列に接続することもできます.




 "red", "b" => "green"); 
$y = array("c" => "blue", "d" => "yellow"); 
$z=$x+$y;
echo $z['a'];
$x['a']="black";
echo "
"; echo $z['a'];//red echo "
"; echo $x['a'];//black ?>
は、この$zがすべての要素を参照ではなくコピーしたことを見ることができ、元の配列の要素を変更し、$zの要素を変更することはありません.
-countは配列の長さを返すことができます
-配列を巡回
";
}
?>
-関連配列(キー値ペア)
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");//    1
//    2
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

"35","Ben"=>"37","Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
-関連配列を巡回
"35","Ben"=>"37","Joe"=>"43");

foreach($age as $myKey=>$myValue)
{
echo "Key=" . $myKey . ", Value=" . $myValue;
echo "
"; } ?>

<5>オブジェクト
color = $color;
  }
  function what_color() {
    return $this->color;
  }
}
?>
<6>NULL

8、演算子
<1>三元演算子

9、配列ソート
<1>sort()昇順配列

<2>rsort()降順配列
<3>asort()値の昇順に並べ替え
<4>ksort()キー昇順に従って配列
<5>arsort()値降順配列
<6>krsort()キー降順に配列
<7>配列逆転(順序逆):
$orders = array_reverse($orders);

10、スーパーグローバル変数
<1>$GLOBALS
グローバル変数<2>$_を参照するために使用SERVER
";
echo $_SERVER['SERVER_NAME'];//   (  )
echo "
"; echo $_SERVER['HTTP_HOST'];// host echo "
"; echo $_SERVER['HTTP_REFERER'];// ( ) echo "
"; echo $_SERVER['HTTP_USER_AGENT'];// echo "
"; echo $_SERVER['SCRIPT_NAME'];// ?>
<3>$_REQUEST
HTMLフォームの送信に使用されるデータの収集
<4>$_POST
フォームデータの収集
<5>$_GET
11、オブジェクト向け、メンバー関数呼び出し(->)
url = $par1;
    $this->title = $par2;
  }
  /*      */
  function setUrl($par){
     $this->url = $par;
  }
  
  function getUrl(){
     echo $this->url . PHP_EOL;
  }
  
  function setTitle($par){
     $this->title = $par;
  }
  
  function getTitle(){
     echo $this->title . PHP_EOL;
  }
}

$runoob = new Site('www.runoob.com', '    ');
$taobao = new Site('www.taobao.com', '  ');
$google = new Site('www.google.com', 'Google   ');

//       ,     URL
$runoob->getTitle();
$taobao->getTitle();
$google->getTitle();

$runoob->getUrl();
$taobao->getUrl();
$google->getUrl();
?>

12、コードの引用
include、require、use
include、require:コードを含めることに相当します.その参照ファイルがこの行のコードに代わっています.この含めるファイルは含まなければなりません.パスは正のスラッシュが望ましいです.
include警告が見つからない場合は実行を続行し、requireはエラーを報告して実行を停止します.システム構成で許可がない場合はrequireを使用します.
include_once、require_once:onceを加えると、システムは判断し、すでに追加している場合は2回目は追加しませんが、システムがこの判断をすると効率が低下するので、できるだけシステムアーキテクチャで繰り返しロードしないようにし、コードの上でできるだけonceで効率に影響を与えないようにしなければなりません.
use:javaに相当するimport
a.php

b.php

13、一重引用符と二重引用符
単一引用符は解釈されず(直接出力)、二重引用符は解釈されます.
14、ceilの使用
            //       :
            $total1 = 40;
            echo 'page_num1='.ceil($total1/30);//2
            $total2 = 30;
            echo 'page_num2='.ceil($total2/30);//1
            $total3 = 20;
            echo 'page_num3='.ceil($total3/30);//1
            $total4 = 0;
            echo 'page_num4='.ceil($total4/30);//0

15、文字列関連
<0>strlen
-strlen()は文字列の長さを返します

<1>mb_strlen
上記のstrlen関数は文字列の長さを計算するとき、完璧ではありません.
文字列に中国語が含まれている場合、utf-8形式の場合、中国語ごとに3文字と計算されます.
そのため、中国語ごとに1しか統計されていない別の統計関数が必要です.
                $length = mb_strlen($item_name,'utf8');

<2>mb_substr
文字列を切り取りmb_に合わせるstrlenでは、1番目のパラメータが元の文字列で、2番目のパラメータが開始位置(0から)、3番目のパラメータが切り取られた長さ、4番目のパラメータが符号化されます.
               $str = mb_substr($item_name,0,10,'utf8');

<3>strposサブ文字列の検索
-strpos()は、別の文字列のindexを返す

指定した文字列内にサブ文字列が存在するかどうかを検索し、存在する場合は最初に発生した場所を返し、存在しない場合はfalseを返します.
使用方法:
if (strpos($from,$find) === false)
{
    //       
}else
{
    //       
}

<4>strstrセパレータによる切り取り
$str1 = strstr($from,$find,true);//           ,      
$str2 = strstr($from,$find);//           ,     

<5>substr indexによる切り取り
$str = substr($fromSku2,1);//   2       

<6>デジタルが科学的カウント法になるのを防止
$orderId = number_format($orderId,0,'','');

<7>リンクの拡張子を含むファイル名を取得
$name =  basename($imgUrl);

<8>分割文字列は配列を返します
$skuArr = mb_split('\s','hello world');
Array (
      [0] => hello
      [1] => world
   )

<9>strripos別の文字列で最後に出現した文字列の位置を検索
$str = 'https://product.suning.com/0070152707/10042045173.html';
        $find = '/';
        $index = strripos($str,$find,0);
        exit('test='.$index);//37
注意:見つからない場合はfalseに戻ります.
16、isset
変数が存在するかどうかを判断します.
たとえば、jsonが解析した後、このリクエストが正しいか間違っているかなど、フィールドの1つが存在するかどうかを見てみましょう.もし正しいとしたら、フィールドには「error」はありません.エラーを返すと、返されるフィールドに「error」があります.直接はできません.
if($obj->{'error'} == null)
{
    exit('    ');
}else
{
    exit('    ');
}

このように判断するのはだめです.オブジェクトにerrorがない場合、このようにページにアクセスするには間違いを報告しなければなりません.正しい方法は:
if(isset($obj->{'error'}))
{
    exit('    ');
}else
{
    exit('    ');
}