相关疑难解决方法(0)

PHP在递归函数中通过引用传递不起作用

我有两个函数,我用来添加或删除深度嵌套的对象/数组组合中的斜杠.数组的第一个"级别"始终是一个对象,但它的一些属性可能是数组或对象.

这是我的两个功能:

function objSlash( &$obj, $add=true )
{
    foreach ( $obj as $key=>$field )
    {
        if ( is_object( $field ) )
            objSlash( $field, $add );
        else if ( is_array( $field ) )
            arrSlash( $field, $add );
        else if ( $add )
            $obj->$key = addslashes( $field );
        else
            $obj->$key = stripslashes( $field );
    }

    return;
}

function arrSlash( &$arr, $add=true )
{
    foreach ( $arr as $key=>$field )
    {
        if ( is_object( $field ) )
            objSlash( $field, $add );
        else if …
Run Code Online (Sandbox Code Playgroud)

php recursion pass-by-reference

7
推荐指数
1
解决办法
4191
查看次数

标签 统计

pass-by-reference ×1

php ×1

recursion ×1