PHPで変数変数の例を詳しく解説
変数 variable は、名前を動的に設定して使用できる変数です。構文形式は、他の言語では珍しい PHP の特別な構文です。この記事では、php 変数変数学習の概要を共有します。php 変数変数に関する知識に興味がある友人は、一緒に学習する必要があります
いわゆる。 variable 変数は変数です。変数名は動的に設定して使用できます。構文形式は PHP の特殊な構文であり、他の言語ではまれですが、変数変数名を使用すると非常に便利な場合があります。つまり、変数の変数名を動的に設定して使用することができます。通常の変数は宣言によって設定されます。例:
<?php $a = 'hello'; ?>
可変変数は、通常の変数の値を可変変数の変数名として取得します。上記の例では、2 つのドル記号 ($) を使用した後、hello を変数変数として使用できます。例:
<?php $$a = 'world'; ?>
このとき、$a の内容が「hello」、$hello の内容が「world」という 2 つの変数が定義されています。したがって、次のステートメント:
<?php echo "$a ${$a}"; ?>
は、次のステートメントとまったく同じ結果を出力します:
<?php echo "$a $hello"; ?>
両方とも、hello world を出力します。
配列で可変変数を使用するには、あいまいさを解決する必要があります。これは、$$a[1] を記述するときに、パーサーは $a[1] を変数として必要とするか、または $$a を変数として必要としてインデックス [1] 値を持つ変数を抽出するかを知る必要があります。この問題を解決する構文は、最初のケースには ${$a[1]} を使用し、2 番目のケースには ${$a}[1] を使用します。
クラス プロパティには、可変プロパティ名を通じてアクセスすることもできます。変更可能なプロパティ名は呼び出しのスコープ内で解決されます。たとえば、$foo->$bar 式の場合、$bar はローカル スコープで解析され、その値は $foo のプロパティ名として使用されます。 $bar が配列セルの場合も同様です。
中括弧を使用して属性名を明確に区切ることもできます。プロパティが配列内にある場合、プロパティ名に複数の部分が含まれている場合、またはプロパティ名に不正な文字が含まれている場合 (たとえば、json_decode() や SimpleXML からのもの) に最も役立ちます。
例 #1 変数属性の例<?php
class foo {
var $bar = 'I am bar.';
var $arr = array('I am A.', 'I am B.', 'I am C.');
var $r = 'I am r.';
}
$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo $foo->$bar . "\n";
echo $foo->$baz[1] . "\n";
$start = 'b';
$end = 'ar';
echo $foo->{$start . $end} . "\n";
$arr = 'arr';
echo $foo->$arr[1] . "\n";
echo $foo->{$arr}[1] . "\n";
?>
I am bar. I am bar. I am bar. I am r. I am B.
<?php
//You can even add more Dollar Signs
$Bar = "a";
$Foo = "Bar";
$World = "Foo";
$Hello = "World";
$a = "Hello";
$a; //Returns Hello
$$a; //Returns World
$$$a; //Returns Foo
$$$$a; //Returns Bar
$$$$$a; //Returns a
$$$$$$a; //Returns Hello
$$$$$$$a; //Returns World
//... and so on ...//
?>
<?php
// Given these variables ...
$nameTypes = array("first", "last", "company");
$name_first = "John";
$name_last = "Doe";
$name_company = "PHP.net";
// Then this loop is ...
foreach($nameTypes as $type)
print ${"name_$type"} . "\n";
// ... equivalent to this print statement.
print "$name_first\n$name_last\n$name_company\n";
?>
John Doe PHP.net John Doe PHP.net
まず、2 つの数値の合計を計算する PHP 関数を記述する必要があります。これは次のように記述できます。
/** *计算两个数的和,并返回计算的结果 * @param number $a * @param number $b * @return number */ function sum($a, $b){ return $a + $b; }
同様に、3 つの数値の合計を計算する必要がある場合は、次のように記述できます。
/** *计算两个或三个数的和,并返回计算的结果 * @param number $a * @param number $b * @return number $c 该参数可以不传入值,默认为0 */ function sum($a, $b, $c = 0){ return $a + $b + $c; }
これ 任意の数の数値の合計を計算する必要がある場合、PHP 関数はどのように記述すればよいでしょうか?
もちろん、そのような関数を実現するために、関数の引き渡しパラメータとして配列を使用することを検討することもできます:
/** *计算任意多个数的和,函数参数params必须为array类型 * @param array params */ function sum($params){ $total = 0; foreach ($params as $i){ $total += $i; } return $total; }
まあ、実際にはこのアプローチには何の問題もありません。なぜなら、
変数パラメータが誕生する前のプログラム開発プロセスだからです。 では、任意の数のパラメーターを渡す必要がある場合、それらは配列または他の同様のコレクションによって表されます。しかし、この種の伝達は十分に明確で直感的だと思いませんか? PHP プログラマーは、変数に関する詳細情報を表示するための関数 var_dump() が PHP にあることを知っておく必要があります。たとえば、次のようになります。 $age = 18;
var_dump($age); //显示变量$age的详细信息
$name = '张三'; $age = 18; $gender = true; var_dump($name, $age, $gender);
var_dump() は同時に任意の数の変数を受け取ることができ、配列の形式で渡す必要がないことがわかっています。このパラメーターの受け渡し方法はより直感的で洗練されています。任意の数のパラメーターを渡すこの形式は、変数パラメーターと呼ばれます。もちろん、 sum() 関数は次の方法でも実装できます:
/** *计算任意多个数的和,并返回计算后的结果 */ function sum(){ //这里的括号中没有定义任何参数 $total = 0; //使用func_get_args()来获取当前函数的所有实际传递参数,返回值为array类型 $varArray = func_get_args(); foreach ($varArray as $var){ $total += $var; } return $total; } /*****下面是调用示例*****/ echo sum(1, 3, 5); //计算1+3+5 echo sum(1, 2); //计算1+2 echo sum(1, 2, 3, 4); //计算1+2+3+4
上の例に示すように、現在の関数で PHP
組み込み関数func_get_args() を使用している限り、いつでもそれを渡すことができます。実際のパラメータ配列の関数を呼び出すと、パラメータ配列を処理するだけで済みます。
注 1:1. 呼び出し時にパラメータが渡されない場合でも、関数 func_get_args() は配列型を返しますが、それは空の配列です (配列には要素が含まれていません)。 2.func_get_args() は関数内でのみ呼び出すことができ、それ以外の場合は警告メッセージが表示されます。 3. func_get_args() 関数はインデックス パラメータを受け取り、パラメータ配列内の指定されたインデックスにあるパラメータを取得できます。たとえば、渡された最初の引数を取得したい場合は、func_get_args(1) を呼び出します。 4. さらに、関数内で func_num_args() を呼び出すこともでき、現在の関数呼び出しで渡されたパラメーターの数を返すことができます。
注 2: PHP 変数パラメーターの実装は、JavaScript 変数パラメーターの実装と非常に似ています。PHP は組み込み関数 func_get_args() を使用して実装し、JavaScript は関数 組み込み変数引数を使用します。それを実装するために。 备注3:在最后的sum()函数代码中,sum()函数没有定义任何形式参数,所以调用该函数时可以传入0、1、2~n个参数的。不过,在一般情况下,计算和至少需要两个数来参与计算。因此,你可以在sum()函数的定义处,定义两个形式参数,例如:sum($a, $b),其他代码保持不变。这样,在调用该函数时,就必须传入至少两个参数。 备注4:由于PHP已经内置了计算数组中所有元素的和的函数array_sum(),因此上述代码的最终版本如下: 以上がPHPで変数変数の例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。/**
*计算任意多个数的和,并返回计算后的结果
*/
function sum($a, $b){
return array_sum(func_get_args());
}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7
