多次元配列を含む可能性のある配列変数からキー名を指定して unset() を行おうとしています。
['a'] という文字列を指定すると $params['a'] が削除され、
['c'][0] という文字列を指定した時、 $params['c'][0] が削除されるようになる
方法を探しています。
<?php $params = [ 'a' => 1, 'b' => 2, 'c' => [3, 4] ]; $key = "['a']"; print_r(unsetParam($key, $params)); function unsetParam($key, $params){ unset($params{$key}); return $params; }
eval() を使うなら
eval('unset($params' . $key . ');');
としてしまえば良いのですが安全のため最終手段にしたいと思っています。
なにか良い手段はないのでしょうか?
文字列で['a']と指定しないとダメなんでしょうか。
配列でarray('a', array('c' => 0))等として指定した方が色々楽そうですけど。
回答2件
あなたの回答
tips
プレビュー