ホームページ >バックエンド開発 >PHPチュートリアル >PHPの基礎知識(1)_PHPチュートリアル
これらは、初心者の PHP プログラマーや始めたばかりの学生向けに書かれています。補足やコメントは歓迎です。
これらの PHP の概念の中には、最初は理解するのが難しいものもあります。これは、一部の人を助け、今後の困難を軽減することを願っています。
1.変数変数
変数_変数.php
コードを見る
$a = 'こんにちは';
$hello = '皆さんこんにちは';
$$a をエコーします。'
';
$b = 'ジョン';
$c = 'メアリー';
$e = 'ジョー';
$students = array('b','c','e');
エコー ${$students[1]};
/*
foreach($students as $seat){
$$seat をエコーします。'
';
}
$$var[1]
${$var[1]} が #1 に
*/
$a = 'こんにちは';
hello を変数 $a に代入すると、 $$a = ${hello} = $hello = 'こんにちは';
$$students[1] の場合、これは混乱を引き起こし、'[' には上位の演算子が含まれていても、結果が出力されない可能性があります。
適切な書き方は次のとおりです: ${$students[1]} = 'Mary';
2. 配列の関数
array_functions.php
コードを見る
echo '
シフト&シフト解除
';// 配列から最初の要素をシフトします
// インデックスはリセットされます
$a = array_shift($numbers);
echo 'a: '.$a.'
';
print_r($numbers);
// 要素を配列の先頭にプッシュします
// 配列の数を返し、配列のインデックスをリセットします
$b = array_unshift($numbers, 'first');
echo '
b: '.$b.'
';
print_r($numbers);
エコー '
ポップ&プッシュ
';// 要素を配列の最後にプッシュします
$d = array_push($numbers, 'last');
echo 'd: '.$d.'
';
print_r($numbers);
3. 日付と時刻 (時間と日付)
UNIX 時間 (1970/1/1 から現在までの秒数) を作成するには 3 つの方法があります
time(); 現在のタイムスタンプを返します
mktime($hr, $min, $sec, $month, $day, $year); mktime(6,30,0,5,22,2012) は 2012 5/22 6:30:00 のタイムスタンプを返します
strtotime($string); strtotime("+1 day") は明日のこの時刻のタイムスタンプを返します。さらに「最後の月曜日」「怠惰な年」
-------------------------------------------------- --------
checkdate($month, $day, $year); 日付が true かどうかを確認します checkdate(5,32,2012) ? // false を返します。
タイムスタンプを取得したら、2012/5/22 などの読み取り可能な形式に変換する必要があります
date($format, $timestamp) ; strftime($format [,$timestamp]) という 2 つのメソッドがあります
2 番目のタイプ strftime("%Y-%m-%d %H:%M:%S") を使用することをお勧めします。 // return 2012-05-22 15:46:40
5. サーバー変数(サーバーと実行環境の情報)
$_サーバー
サーバー変数.php
コードを見る
echo 'SERVER_NAME: '.$_SERVER['SERVER_NAME'].'
';
echo 'SERVER_ADD: '.$_SERVER['SERVER_ADDR'].'
';
echo 'SERVER_PORT: '.$_SERVER['SERVER_PORT'].'
';
echo 'DOCUMENT_ROOT: '.$_SERVER['DOCUMENT_ROOT'].'
';
エコー '
';
echo 'REMOTE_ADDR: '.$_SERVER['REMOTE_ADDR'].'
';
echo 'REMORT_PORT: '.$_SERVER['REMOTE_PORT'].'
';
echo 'REQUEST_URI: '.$_SERVER['REQUEST_URI'].'
';
echo 'QUERY_STRING: '.$_SERVER['QUERY_STRING'].'
';
echo 'REQUEST_METHOD: '.$_SERVER['REQUEST_METHOD'].'
';
echo 'REQUEST_TIME: '.$_SERVER['REQUEST_TIME'].'
';
echo 'HTTP_USER_AGENT: '.$_SERVER['HTTP_USER_AGENT'].'
';
エコー '
';
6.variable_scope(変数スコープ グローバル静的)
static_variables.php
コードを見る
関数テスト()
{
$a = 0;
エコー $a;
$a++;
}
テスト();
エコー '
';
テスト();
エコー '
';
テスト();
エコー '
';
エコー '
test1();
エコー '
';
テスト1();
エコー '
';
テスト1();
エコー '
';
test() 関数の変数 $a は $a++ の結果を保存せず、test() を繰り返し呼び出しても $a の値は増加しません
test1() 関数の変数 $a は、静的変数である staic $a = 0 を宣言します。
引用: 静的変数はローカル関数スコープ内にのみ存在しますが、プログラムの実行がこのスコープを離れても値は失われません。
静的変数は、ローカル関数スコープ、つまり test1() 関数本体内にのみ存在できますが、プログラムが test1() スコープを離れても、静的変数の値は失われません。つまり、$a 変数は失われません。 1 ずつ増加します。 test1() が再度呼び出されると、$a = 1;
global_variables.php
コードを見る
$a = 1;
$b = 2;
関数Sum()
{
グローバル $a、$b;
$b = $a + $b;
}
合計();
エコー $b;
echo '
関数Sum1()
{
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}
Sum1();
エコー $b;
引用: PHP では、グローバル変数を関数内で使用する場合は、関数内でグローバル変数を宣言する必要があります
これらの変数を関数内で使用する場合は、その関数内でグローバル変数を定義する必要があります。 これにより、多くのトラブルを回避できます。
7.reference(参考)
変数参照.php
コードを見る
$a = 'アーティスト';
$b = $a;
$b = '明';
echo "私の名前は:{$a}です。でも、お母さんは私のことを{$b}と呼んでいます。
";
エコー '
$a = 'アーティスト';
$b = &$a;
$b = '明';
echo "私の名前は:{$a}。母は私を {$b} と呼んでいます。
";
この概念は、私のことを「ミンミン」と呼んでいますが、上司は「ミンミン」でも「シャオヤン」でも、私は「私」と呼んでいます。
'&' そして、これは、さまざまな人がエイリアス、つまり参照を呼び出す方法で、$a = {me、またはメモリ内の値}、$b = {リーダー、マザー、または変数} と同等です
& を使用すると、 $b はメモリ内の $a の唯一の同一の値を指します。 したがって、上司があなたを何と呼んでも、母親があなたを何と呼んでも、あなたはあなたです。名前が違うだけです。
したがって、参照を渡した後、$b の値を変更し、$a の値も変更します。
8. 参照変数を関数に渡す(参照パラメータを関数に渡す)
関数 ref_test(&$var){
$var *= 2;
を返します
}
$a = 10;
ref_test($a);
エコー $a;
パラメーターを参照によって関数に渡すとき、変数のコピーではなく、実際の値を渡します
したがって、関数 ref_test($a) を呼び出すと、$a の値が変更されているため、最終的には $a = 20;
9. 参照関数の戻り値(参照関数の戻り値)
参照関数_戻り値.php
関数&インクリメント(){
静的 $var = 0;
$var++;
$var を返します;
}
$a =& インクリメント() // 1
;
インクリメント(); // 2
$a++ //3
インクリメント(); // 4
echo "a: {$a}";
まず参照関数を宣言し、関数本体で増加した値を保存できる静的変数 $var を宣言します。
$a =& increment(); このステートメントは、変数 $a,
によって参照される関数 increment() の戻り値です。
前の参照変数と同様に、increment() 関数を変数とみなすことができ、これは $a = & $b;
になります。
したがって、increment() と $a は両方とも同じ値を指しており、どちらかを変更すると同じ値が変更されます。
ウォークラフトより抜粋