php多维数组引用,php – 如何通过引用在多维数组中动态设置值

这整晚都让我疯狂.基本上,我需要在清理值之后在多维数组中设置一个特定值,然后再次(可能,取决于验证;如果验证失败,则需要将值设置为空字符串)验证该值之后.假设我有这个帖子数组:

$data['should']['be']['int'] = ' yjd';

使用filter_var($value,FILTER_SANITIZE_NUMBER_INT)清理值后;我收到一个空字符串.然后我需要以某种方式将$data [‘should’] [‘be’] [‘int’]的值设置为空字符串.

然后将此值传递给验证函数,该函数失败,导致空字符串不是整数.同样,那个经验证的值需要在$data [‘should’] [‘be’] [‘int’]中设置为空字符串.

在整个验证过程开始之前,我将所有相关的密钥保存在一个数组中,所以当我需要清理或验证时,我有这样的东西:

$keys = array(

0 => 'should',

1 => 'be',

2 => 'int'

);

我试图在foreach循环中使用上面的键访问$data数组,引用& $data数组来设置新值,但无论我怎么做都无法使用.以上只是一个简化的例子.整个事情是验证类的一部分,所以我不知道传递的$data数组的确切深度.

任何指针将不胜感激!谢谢你的帮助!

编辑:

以为我无法编辑帖子,但它最终只是我的互联网连接.请忽略我在下面的评论.无论如何,这是一个我尝试递归调用的方法:

protected function set_value( &$data, $value ) {

foreach( $data as &$val ) {

if( is_array( $val ) ) {

$this->set_value( $val, $value );

} else {

$val = $value;

}

}

}

为了开始循环我做了这个:

$this->set_value( $data[$keys[0]], $value );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值