PHP

PHP想修改大规模数组的源代码, 并把源代码打印出来, 而不是var_dump打印的那种效果怎么弄?

字号+ 编辑: 种花家 修订: 种花家 来源: 原创 2023-09-10 我要说两句(0)

参照实际开发中的情况的小技巧。

PHP的数组可谓神奇的编程物种, 搞了这么多年编程, php的数组可真是方便至极。但开发过程中会有把数组写死在程序中, 而非数据库里的情况。那么大规模的数组就没办法用sql或者redis语句来操作了。

实际业务场景中, 遇到的需求情况特别多, 这里只是举例说明。比方我们要把数组当中涉及key和value相同的元素去掉, 并且返回源代码

$a = array(
    '一样的' => '一样的',
    '不一样的' => '不二样的',
);

$b = [];

foreach($a as $k => $v) {
    if($k == $v) {
        continue;
    }
    
    $b[$k] = $v;
}

echo "array(\n";
print_src($b);

function print_src($arr, $indent = ' ') {
    foreach($arr as $k => $v) {
        if(is_array($v)) {
            echo sprintf("%s\"%s\" => array(\n", $indent, $k);
            print_src($v, $indent . ' ');
            echo $indent . "),\n";
        } else {
            echo sprintf("%s\"%s\" => '%s',\n", $indent, $k, $v);
        }
    }
}

echo ");";

 这样打印出来的效果就是你要的新数组源码。

阅完此文,您的感想如何?
  • 有用

    146

  • 没用

    2

  • 开心

    12

  • 愤怒

    0

  • 可怜

    1

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • mac开发接入微信公众号接口返回报错 cURL error 56: SSLRead() return error -9806

  • PHP的换行符是什么

  • pecl安装程序时报错Array and string offset access syntax with curly braces is no longer supported

  • 由于商家传入的H5交易参数有误,该笔交易暂时无法完成,请联系商家解决

我要说说
网上宾友点评