我正在使用 cakephp 1.2,并且我有一个数组,即使该变量没有被操纵,它的值似乎也发生了变化。下面是给我带来麻烦的代码。
请注意 - 更新更改变量名称对结果没有影响。
function findCountByString($string, $myArr=array()) {
$main_conditions['or'] = array();
$main_conditions['or']['Article.title LIKE '] = '%'.$string.'%';
$main_conditions['or']['Article.html_content LIKE '] = '%'.$string.'%';
$conditions['and'][] = $main_conditions;
$filter_conditions['or'] = array();
if(count($myArr) > 0) {
# UPDATE NUMBER 2
# if I comment out the below line everything is fine, this makes no sense!!!
$filter_conditions['or']['ArticleEntity.entity_id'] = $myArr;
$conditions['and'][] = $filter_conditions;
}
echo "Start of findCountByString()";
var_dump($myArr);
$test = $this->find('count', array(
'conditions' => $conditions,
'joins' => array('LEFT JOIN `articles_entities` AS ArticleEntity ON `ArticleEntity`.`article_id` = `Article`.`id`'),
'group' => 'Article.id'
));
echo "End of findCountByString()";
var_dump($myArr);
return $test;
}
我得到以下输出:
Start of findCountByString()
array(4) {
[0]=>
string(36) "4bdb1d96-c680-4c2c-aae7-104c39d70629"
[1]=>
string(36) "4bdb1d6a-9e38-479d-9ad4-105c39d70629"
[2]=>
string(36) "4bdb1b55-35f0-4d22-ab38-104e39d70629"
[3]=>
&string(36) "4bdb25f4-34d4-46ea-bcb6-104f39d70629"
}
End of findCountByString()
array(4) {
[0]=>
string(36) "4bdb1d96-c680-4c2c-aae7-104c39d70629"
[1]=>
string(36) "4bdb1d6a-9e38-479d-9ad4-105c39d70629"
[2]=>
string(36) "4bdb1b55-35f0-4d22-ab38-104e39d70629"
[3]=>
&string(38) "'4bdb25f4-34d4-46ea-bcb6-104f39d70629'"
}
我数组中的值发生了变化,我不知道为什么?
有什么建议么?