可能性の重複:
PHP syntax for dereferencing function resultPHPを呼び出して最初の要素にアクセスしてアクセスしますか?
私は1234#5678のように見える文字列を、持っています。今私はこれを呼んでいる:
$last = explode("#", "1234#5678")[1]
それは機能しない、いくつかの構文エラーがあります...しかしどこですか?私が期待するのは$last
の5678です。これはPHPでは動作しませんか?
可能性の重複:
PHP syntax for dereferencing function resultPHPを呼び出して最初の要素にアクセスしてアクセスしますか?
私は1234#5678のように見える文字列を、持っています。今私はこれを呼んでいる:
$last = explode("#", "1234#5678")[1]
それは機能しない、いくつかの構文エラーがあります...しかしどこですか?私が期待するのは$last
の5678です。これはPHPでは動作しませんか?
アレイは現在のPHPのバージョン(残念ながら)は不可能です。しかし、あなたは直接変数に配列要素を割り当てるためにlist
[docs]を使用することができます。
list($first, $last) = explode("#", "1234#5678");
UPDATE
PHP 5.4は(01日 - 3月 - 2012年リリース)以降ではarray dereferencingをサポートしています。
そして多くの値が文字列にあれば、 $ last = end(explode( '#'、$ string)); –
リストの代わりに 'list(、$ last)= ....'があります。その後、必要のないときに最初の変数がハングすることはありません。 –
ほとんどの場合、PHPは構文によって混乱している可能性があります。ただ、配列変数へexplode
の結果を代入し、それにインデックスを使用します。
$arr = explode("#", "1234#5678");
$last = $arr[1];
ではありません。 – EOB
スナップ!あなたが勝つ:) –
PHPは少し薄暗いことができます。おそらく、2行にこれを実行する必要がありますデリファレンス
$a = explode("#", "1234#5678");
$last = $a[1];
あなたはこれを行うことはできません。explode
は機能ではなく、配列で
explode("#", "1234#5678")[1]
ので。配列を返しますが、PHPでは配列に設定されるまで関数を配列として扱うことはできません。
これはそれを行う方法です:
$last = explode('#', '1234#5678');
$last = $last[1];
は、ここに1つの行にそれを取得する方法は次のとおりです。
indx
はあなたに、あなたは配列にしたい指標である
$last = current(array_slice(explode("#", "1234#5678"), indx,1));
例は1でした。
これはPHPでは不可能です。 –
PHP 5.4ではこれを行うことができますが、現時点では5.3 –