自己的助手codeigniter中的未定义偏移量

时间:2013-04-16 15:40:48

标签: php regex codeigniter helper

我想在数组值$ stopwords前连接字符“/ \ b”,并在后面连接字符“\ b / i”。

我的助手

function addRegex_SW($arrayIn = array()){
    $arrayOut = array();
    $count = count($arrayIn);   
    for ($i = 1; $i <= $count; $i++)
    {
       $char1 = "/\b"; 
       $char2 = "\b/i";
       $arrayOut[$i] = $char1.$arrayIn[$i].$char2;
       //echo $arrayOut[$i];
    }
return $arrayOut;
}

我的观点

$stopwords_Regex = addRegex_SW($stopwords);

然后当我运行代码

A PHP Error was encountered
Severity: Notice
Message: Undefined offset: 317
Filename: helpers/addRegex_helper.php
Line Number: 11

哪一行是

$arrayOut[$i] = $char1.$arrayIn[$i].$char2;

我确定我已经谷歌了,但我还没有得到它。 感谢

2 个答案:

答案 0 :(得分:1)

您的for - 循环 off-by-one

更改:for ($i = 1; $i <= $count; $i++)

收件人:for ($i = 0; $i < $count; $i++)

答案 1 :(得分:0)

你不需要使用,而是使用foreach:

function addRegex_SW($arrayIn = array()) {
    $arrayOut = array();
    foreach ($arrayIn as $value) {
        $arrayOut[] = '/\b' . $value . '\b/i';
    }
    return $arrayOut;
}