从var中删除数字数组键
我想做var_export()并去掉数组上的所有数字数组键。 我的数组输出如下所示:
array (
2 =>
array (
1 =>
array (
'infor' => 'Radiation therapy & chemo subhead',
'PPOWithNotif' => '',
'PPOWithOutNotif' => 'Radiation therapy & chemo PPO amount',
'NonPPO' => 'Radiation therapy & chemo Non PPO amount',
),
),
3 =>
array (
1 =>
array (
'infor' => 'Allergy testing & treatment subhead',
'PPOWithNotif' => '',
'PPOWithOutNotif' => 'Allergy testing & treatment PPO amount',
'NonPPO' => 'Allergy testing & treatment Non PPO amount',
),
)
)
通过这样做,我可以随机洗牌数组值,而不必担心数值数组值。
我试过使用echo preg_replace("/[0-9]+ =>/i", '', var_export($data));
但它什么也没有做。 有什么建议么? 有没有我没有用我的正则表达式做的事情? 有没有更好的解决方案呢?
您必须将var_export
的第二个参数设置为true
,否则没有给您的preg_replace
调用返回值。
参考:https://php.net/manual/function.var-export.php
返回
如果使用并设置为TRUE ,则var_export()将返回变量表示而不是输出它。
更新:回顾这个问题,我有一个预感,一个简单的array_values($input)
就足够了。
为什么不使用array_rand
:
$keys = array_rand($array, 1);
var_dump($array[$keys[0]]); // should print the random item
PHP还有一个函数shuffle
,它将为你打乱数组,然后使用foreach
循环或next
/ each
方法,以随机顺序将其拉出。