2016-11-11 5 views
-1

私は互いに関連する配列に変数を追加しようとしています。プログラムをきれいにしたいので、関数を作成したいと思います。異なる配列に複数の値を加えることができる関数)は、4つの変数を特定の順序で渡すことができ、それを対応する配列に追加することができます。これは、配列の先頭から数えて、配列のどの部分が互いに対応しているかを調べる方がよい。私はこのコードを使ってみましたが、うまく動作していません。しかし、関数の外側から配列に追加しようとすると、正しく機能するようです。ここに私のコードは次のとおりです。PHP内の関数内の配列に変数を追加する

<?php 
function dbg($var1,$var2,$var3,$var4){ 
    $array1[] = "$var1"; 
    $array2[] = "$var2"; 
    $array3[] = "$var3"; 
    $array4[] = "$var4"; 
    echo count($array1); 
} 
dbg('foo','bar','ping','pong'); 
?> 
+0

4つの配列にそれぞれ1つのエントリを埋め込んでいます。 – JOUM

+0

'$ array1'と' $ array2'と '$ array3'と' $ array4'は__different__の配列です –

+0

なぜこれを関数で行うのですか?ほとんど意味がない。この船を放棄しなさい! – AbraCadaver

答えて

1

あなたの問題はスコープのようです。関数内でこれを行うと、の中にしか存在しない関数が4つあり、関数の4つの配列変数を作成して使用しています。それらは、関数の外の効果を持つことができるようにするには、単にグローバルとしてそれらを定義します。

<?php 
function dbg($var1,$var2,$var3,$var4){ 
    global $array1, $array2, $array3, $array4; 
    $array1[] = "$var1"; 
    $array2[] = "$var2"; 
    $array3[] = "$var3"; 
    $array4[] = "$var4"; 
    echo count($array1); 
} 
dbg('foo','bar','ping','pong'); 
?> 
+0

'$ GLOBALS ['array1'] [] = $ var1;' – AbraCadaver

-1

あなたが好きすべき$の配列1列に$ var1の要素を追加するには: $配列1の[count($配列1)] = $ VAR1;

-1

7未満PHPでは、あなたがPHP 7と

function dbg(){ 
     $args=func_get_args(); 
     print func_num_args(); 
     var_export($args); 
} 

はあなたが行うことができます行うことができます

function dbg(...$args){ 
print count($args); 
var_export($args); 
} 
+0

うーん...何?!?! – AbraCadaver

+0

@AbraCadaverそれを忘れて、私はそれを間違えた、より多くの投票... – JOUM

関連する問題