php動的配列変数は要素を追加します
Php Dynamic Array Variables Add Elements
基本
php配列は要素を追加する2つの方法です
$ stack = array( 'orange'、 'banana')
array_push($ stack、 'apple'、 'raspberry')
print_r($ stack)
?>
または
$ a [0] = 'abc'
$ a [1] = 'def'
$ a [] = 'こんにちは'
$ a [] = '世界'
print_r($ a)
私の状況
$ arrName = array()
$ Arr_curent = 'arrName' //ここでは設定された条件に基づいています$ arr_curentさまざまな配列変数
使用する場合$$ arr_curent要素[] = $構文は、次のように変更せずに直接追加されます。
$ arr_curent [] = 'arr_weixiu'
要素を追加する場合:
$$ arr_curent = $ row
ニュース通知:配列から文字列への変換
---------------------
$$ arr_curent [] = $ row
レポート:[]を読み取りに使用することはできません
いくつかの実験がarray_pushメソッドを使用しなければならなかった後、次のように成功しました
$ arr_guandao = array()
$ arr_baomu = array()
$ arr_weixiu = array()
$ arr_huoyun = array()
$ resultIndex = 0
行う {
/ *最初の結果セットを保存します* /
if($ result = mysqli_store_result($ conn)){
$ arr_curent = NULL
switch($ resultIndex)
{{
ケース0:
$ Arr_curent'arr_guandao '
ブレーク
ケース1:
$ arr_curent = 'arr_baur'
ブレーク
ケース2:
$ arr_curent = 'arr_weixiu'
ブレーク
ケース3:
$ arr_curent = 'arr_huur'
ブレーク
}
while($ row = mysqli_fetch_row($ result)){
array_push($$ arr_curent、$ row)
}
mysqli_free_result($ result)
}
$ resultIndex ++
/ *仕切りを印刷* /
} while(mysqli_next_result($ conn))
}
mysqli_close($ conn)
エコー '/* | ------------------------------------------------------------------- | Rights Profiles | $config[key1][key2][key3] | Key1 back left side of the menu tree are grouped by the same key1 | Key2 permission name action_code | Chinese name url link menu key3 name system menu tree is displayed without filling is 'key1 / key2', you can fill in the custom menu links | ------------------------------------------------------------------- */ / * Admin * / $ Config [ 'admin'] [ 'user_admin'] [ 'name'] = 'User Manager' $config['admin']['user_admin']['url'] = 'user/' $ Config [ 'admin'] [ 'custom_permissions'] [ 'name'] = 'permissions' $config['admin']['custom_permissions']['url'] = 'user/custom_permissions' $ Config [ 'admin'] [ 'roles'] [ 'name'] = 'Role group management' $ Config [ 'admin'] [ 'roles'] [ 'url'] = '' / * Users * / $ Config [ 'user'] [ 'change_password'] [ 'name'] = 'Change password' $config['user']['change_password']['url'] = 'user/change_password_view' $ Config [ 'user'] [ 'user_profile'] [ 'name'] = 'profile settings' $config['user']['user_profile']['url'] = 'user/profile' ...... The above is converted into the following $ config $ PERMS ** $perms[$i]['group'] = $key ** $perms[$i]['action_code'] = $k ** $perms[$i]['name'] = $v['name'] ** $perms[$i]['hasperm'] = false */ $perms = getPermissionsArray() $admin = array() $user = array() ... foreach($perms as $key => $row)
'
{ if ($dxAuth->get_permission_value($row['action_code']) != NULL AND $dxAuth->get_permission_value($row['action_code'])) { ${$row['group']}['children'][] = getTreeArray($row['name'], $row['url']) } } ...... Because $ row [ 'group'] followed array operates so use {} $ defining a first range, which is equivalent to $ admin [ 'children'] []
出口()
-------------------------------------------------- ---------------------------------
Postscript、そのarray_pushの低効率、主にarray_pushの実際の使用は、配列のインデックスを再作成します。つまり、各メンバーは呼び出しの配列を持ちます
arry [] = $ var一度、長い配列は確かに低くなり、後でネットワークにクエリを実行した後、再利用されます$$ ary [] = $ row way
編集者: http://zhidao.baidu.com/question/91066720.html?an=0&si=7
$ GLOBALS [$ s] [] = $行
または
$ {$ s} [] = $ row
家主さん、次のPHPマニュアルをご覧ください。
変数変数
変数変数名の使用が非常に便利な場合があります。つまり、変数名を動的に設定して使用できます。正規変数は、次のようなステートメントで設定されます。
$ a = 'こんにちは'
?>
変数変数は、共通変数の値を変数変数変数名として受け取ります。上記の例では、helloは将来2ドル記号($)を使用し、変数変数変数として使用できます。例えば:
$$ a = '世界'
?>
この場合、2つの変数が定義されています。$ aのコンテンツは「hello」であり、コンテンツの$ helloは「world」です。したがって、次のように表すことができます。
エコー '$ a $ {$ a}'
?>
次の結果として、まったく同じ出力を生成します。
エコー '$ a $ hello'
?>
それらは両方とも生成します:helloworld。
配列を使用して変数を可変にするには、あいまいさの問題を解決する必要があります。それは、$$ a [1]と書かれたとき、パーサーは$ a [1]を変数として必要としていることを知る必要がありますか、それとも$$ aを変数として使用して、変数インデックス[1]の値を削除しますか。この問題を解決するための文法は、最初のケースでは$ {$ a [1]}であり、2番目のケースでは$ {$ a} [1]であるということです。
-------------------------------------------------- -------------------------------------------------- ------------------
最後に、php動的変数に関する情報を添付してください
変数変数名をプログラミングすると、非常に便利な場合があります。その変数名は動的な命名と使用が可能です。通常、次のようなステートメントによって名前が付けられた変数:
$ a='こんにちは'
?>
変数変数名は、この変数の名前としての変数の使用価値を指します。上記の例では、2つの$記号を使用して、次のように記述できます。 こんにちは 以下のように、変数の名前に。
$$ a='世界'
?>
上記の2つのステートメントを通じて、2つの変数が定義されます。変数$ A、コンテンツがロードされます 'hello'、および変数$ Hello、コンテンツ 'world'で埋められます。したがって、次の言語:
捨てた'$ a $ {$ a}'
?>
次のステートメントを正確に出力します。
捨てた'$ a $ hello'
?>
それらは出力されます:こんにちは世界。
配列変数の変数名を使用するには、あいまいさの問題を解決する必要があります。つまり、$$ a [1]と書く場合、パーサーは$ a [1]を変数として作成することを正確に知る必要があります。または、$$ aを変数として、[1]はのインデックスです。変数。このあいまいな構文を解決するには、次のようにします。$ {$ a [1]}の最初のケース、$ {$ a} [1]を使用する2番目のケース。
クラス属性には、変数プロパティ名を介してアクセスすることもできます。変数呼び出し内で生成されたプロパティから取得された変数名。アクセス範囲。たとえば、式が$ foo-> $ barの場合、ローカル変数スコープ内の変数$ barが実行されていることがわかり、プロパティ名$ fooオブジェクトとして価値があります。 $ barが配列の場合は、配列を使用することもできます。
例1変数変数名
クラスfoo{{
どこ$ bar=「私はバーです。」
} $ foo=新規foo()
$ bar='バー'
$ベース= array(「foo」、'バー'、'ベース'、「quux」)。
捨てた$ foo->$ bar。' n'
捨てた$ foo->$ベース[1]。' n'
?>
上記の例では、次の結果が生成されます。
私はバーです。
私はバーです。
警告
変数変数名はPHPの関数およびクラスでは使用できないことに注意してくださいスーパーグローバル配列変数オン。変数 $ this また、特別な名前を動的変数にすることはできません
から転送 http://hi.baidu.com/qianko/blog/item/e9cf542af54e008c023bf611.html
例以下は、私が開発プロジェクトで使用した例です。
'var_dump($arr_guandao)
echo '----- '
var_dump($arr_baomu)
echo '---- '
var_dump($arr_weixiu)
echo '---- '
var_dump($arr_huoyun)
echo '
複製:https://www.cnblogs.com/yanqing/archive/2012/08/18/2645416.html