【问题标题】:Unset Not Clearing Array Key/Value未设置不清除数组键/值
【发布时间】:2013-10-18 21:04:51
【问题描述】:

我提交的表单会根据调查结果进行重定向。在登陆页面上,我调用了一个函数来处理查询字符串,查询数据库并将结果作为数组返回以进行页内处理。

function surveyResults() {

 if($goodtogo) {
   $survey = $wpdb->get_results(...,ARRAY_A);

   $name_has_space = strpos(trim($q_name_field[0]),' ');
    if($name_has_space === false) {
        $q_first_name = $q_name_field[0];
        $name_has_num = preg_match('/[0-9]/',$q_first_name);
        $q_first_name = ((0 === $name_has_num) ? " ".ucfirst($q_first_name).", " : '');
    } else {
            $q_first_name = substr(trim($q_name_field[0]),0,$name_has_space);
            $name_has_num = preg_match('/[0-9]/',$q_first_name);
            $q_first_name = ((0 === $name_has_num) ? " ".ucfirst($q_first_name).", " : '');
        }

   $survey['name']['q_fname'] = $q_first_name;

   $results = $survey;

 } else {
     $results = false;
   }

 return $results;

}

输出:

Array (

    [0]=> Array (
           'key' => 'value'
          )
    ...

    [n]=> Array (
           'key' => 'value'
          )

    ['name'] => Array (
                 [q_fname] => MyName
                )
)

这是完美的——除了——每次我测试页面时,$survey[0-n] 结果会根据查询发生变化,但$survey['name']['q_fname'] 仍保持之前的值MyName

我尝试在设置$results = $survey; 后立即添加unset($survey['name']['q_fname']);,但这似乎没有什么不同。我需要unset($results) 还是使用参考&$fname...

我在这里错过了什么?

谢谢

【问题讨论】:

  • PHP 变量不会从一次运行到下一次保持它们的值,每次加载页面时一切都会重新开始。所以肯定有其他事情发生。发布您的实际代码而不是伪代码。
  • 更新了上面的代码,我最初认为这可能是问题,但不明白这如何使$survey['name']['q_fname'] = $q_first_name; 持久化。
  • 我测试了以下内容以确定输出: if($name_has_space === 0) { $q_first_name = '0'; } 其他 { $q_first_name = '假'; } $name_has_num = preg_match('/[0-9]/',$q_first_name); if(0 === $name_has_num) { $q_first_name = '0'; } 其他 { $q_first_name = $name_has_num;测试了没有空格和数字,输出改变了,但是当我回到原始代码时,之前的值就显示出来了。仔细检查了数据库,没有这样的记录,所以我完全感到困惑。

标签: php arrays unset


【解决方案1】:

我是麦克格雷格,我是个白痴。错过了查询中的关键条件。

【讨论】:

  • 我完全赞同这个解决方案。
猜你喜欢
  • 1970-01-01
  • 2014-06-22
  • 1970-01-01
  • 2014-03-03
  • 2015-08-02
  • 2013-05-22
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多