【问题标题】:store the value to array, and select array intersected将值存储到数组,并选择相交的数组
【发布时间】:2015-06-24 16:56:50
【问题描述】:

1.我想把数组值存到这三个变量中,取其相交的值,但是没有成功!

$report =array();
$report1 =array();
$report2 =array();
while ($row=mysql_fetch_array($r_query)){
   echo 'Primary first State:' .$row['user_id'].'<br>';
    $report[]=array(
         'id'=>$row['user_id']);
}

while ($rowa=mysql_fetch_array($r_querya)){
   echo 'Primary second State:  ' .$rowa['user_id'].'<br>'; 
 $report1[]=array(
         'id'=>$rowa['user_id']);
}
while ($rowb=mysql_fetch_array($r_queryb)){
   echo 'Primary third State:  ' .$rowb['user_id'].'<br>';  
 $report2[]=array(
         'id'=>$rowb['user_id']);
}
echo var_dump($report);
   $result = array_intersect($report,$report1,$report2);
   echo 'intersect State:  ' .$result;
}
?>

【问题讨论】:

  • 警告:如果您只是学习 PHP,请不要学习过时的 mysql_query 接口。这很糟糕,并且在 PHP 的未来版本中被删除。像PDO is not hard to learn 这样的现代替代品。像PHP The Right Way 这样的指南可以帮助解释最佳实践。始终绝对确定您的用户参数是properly escaped,否则您将遇到严重的SQL injection bugs。
  • “无效”不是我们可以帮助您的诊断。您有任何错误要报告吗?你在运行什么查询?在进行 SQL 调用时,您甚至会检查错误吗?
  • echo var_dump($report); 3 数组存储像这样的值 array(2) { [0]=> string(1) “5” [1]=> string(1) “7” } 但 intersect 只输出'Array'!

标签: php mysql arrays intersect


【解决方案1】:

array_intersect 的结果是一个数组本身,因此将最后一行代码替换为:

echo 'intersect State:  ' . PHP_EOL;
var_dump($result);

另外:

echo var_dump($report);

没有多大意义,对数组只使用后者(var_dump)...。

【讨论】:

  • 是的,它输出相交值!太感谢了。另外,这里可以直接用这个变量吗 //Country output $sqli = "SELECT meta_value FROM search WHERE user_id LIKE '%".$result."%' and meta_key='pmpro_bcountry'"; $r_queryi = mysql_query($sqli);
  • //国家输出 $sqli = "SELECT meta_value FROM search WHERE user_id LIKE '%".$result."%' and meta_key='pmpro_bcountry'"; $r_queryi = mysql_query($sqli); while($a=mysql_fetch_array($r_queryi)){ echo '
    County: '.$a[meta_value]; }
  • 如果您的结果返回一个 user_id -s 数组,您可以通过:$search_list = '(' . explode(',',$result) . ')' 并将其放入您的 sql 中,例如:... WHERE user_id IN " . $search_list;
  • 结果是这样的:@saulnier array(1) { [0]=> array(2) { [0]=> string(1) “5” [1]=> string( 1) “7” } }
  • 这是错误警告:explode() 期望参数 2 是字符串,数组中给出
猜你喜欢
  • 2014-10-11
  • 1970-01-01
  • 1970-01-01
  • 2010-10-04
  • 2017-01-08
  • 2013-07-31
  • 1970-01-01
  • 2018-04-30
  • 2021-09-24
相关资源
最近更新 更多