• PHP中使用foreach时加&符号的用法


    foreach时加&符号:遍历的同时改变原数组即修改数据或者增加数据。

    $arr = ['a', 'b', 'c'];
    foreach ($arr as $key => &$value) {
        $value = $value . '111';
    }
    echo json_encode($arr);      // ["a111","b111","c111"],这里改变了原来数组的值

    使用&可能出现的问题:

    $arr = ['a', 'b', 'c'];
    foreach ($arr as $key => &$value) {
        $value = $value . '111';
    }
     
    foreach ($arr as $key => $value) {
        $value = $value . '222';
    }
    echo json_encode($arr);      // ["a111","b111","b111222222"]

    这是由于在使用赋值引用传递之后没有释放$value的值,所以会影响第二个foreach的使用。可以使用unset($value)释放变量。

    $arr = ['a', 'b', 'c'];
    foreach ($arr as $key => &$value) {
        $value = $value . '111';
    }
    unset($value);     // 释放$value的引用传递
    foreach ($arr as $key => $value) {
        $value = $value . '222';
    }
    echo json_encode($arr);      // ["a111","b111","c111"]
  • 相关阅读:
    《人月神话》读后感
    软件工程心得体会(十一)
    Arch + Win10 EFI 引导重装记录
    BurpSuite 的使用
    Wireshark 的使用
    Android 中的反调试技术
    IDA 对 so 的动态调试
    Smail 中的一些点
    IDA 对 SO 的逆向
    动态调试smali代码
  • 原文地址:https://www.cnblogs.com/woods1815/p/10259118.html
Copyright © 2020-2023  润新知