2

PHP で list() 割り当てを使用しているため、配列値を一度により多くの変数に割り当てることができます。

前に配列入力をtrim()する必要があります-もちろん、その前または後に配列でforeachを実行できます-しかし、トリムをある種の割り当てフィルターとしてキャストする方法はありますか-または少なくとも配列をインラインでトリムします(外部関数や foreach はありません)?

質問はより一般的なものです - list() 割り当てにフィルター関数を追加できますか?

編集:

foreach を使用した「より単純な」ソリューションを探している人向け:

foreach($items as $k => $v) $item[$k] = trim($v);
list($var1,$var2,$var3,$var4) = $items;
4

3 に答える 3

10

より簡単な方法を提供することはできませんarray_map():

list($var1,$var2,$var3,$var4) = array_map('trim', $items);

ここでの「トリック」はarray_map、関数を配列のすべての要素に適用し、変更された配列を返すことです。これは、 によって使用されlistます。

リトルデモ

于 2013-08-29T10:25:46.503 に答える
1

私の知る限り、リストは一種のフィルターを受け入れません。array_mapより直接的な方法である可能性があります:

list($var1,$var2,$var3,$var4) = array_map('trim', $items)
于 2013-08-29T10:28:02.273 に答える
1
$items = array_map('trim', $items);

list($var1,$var2,$var3,$var4) = $items;
于 2013-08-29T10:26:00.097 に答える