PHP代替替换行

问题描述 投票:0回答:1

有人可以帮我理解为什么这段代码删除行而不是替换行

<?php

change = 'something to say,';
change .= 'something more to say';

    $data = file('details.csv'); // reads an array of lines
    function replace_a_line($data) {
       if (stristr($data, ',666,')) {
         return $change;
       }
       return $data;
    }
    $data = array_map('replace_a_line',$data);
    file_put_contents('details.csv', implode('', $data));

    echo $change;
?>

如果我只用文本替换$ change,它就可以找到,为什么当我使用$ change之类的值时却没有呢?>

$ change is

change = 'something to say,';
change .= 'something more to say';

如果执行回显或打印,则会得到

something to say, something more to say

所以该语句正常工作。目的是使用表单中的POST,因此我需要弄清楚为什么该语句($ change)无法正常工作。

有人可以帮助我理解为什么这段代码删除行而不是替换行

php
1个回答
0
投票

$change在哪里声明?可变起始值是多少?输入if语句之前$change的值是什么?

© www.soinside.com 2019 - 2024. All rights reserved.