Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用新数组函数时出错_Php_Arrays_Wordpress - Fatal编程技术网

Php 使用新数组函数时出错

Php 使用新数组函数时出错,php,arrays,wordpress,Php,Arrays,Wordpress,大家好:我对数组没有太多经验,但我正在努力学习。尝试一些新的东西,不知道是否可以这样做。基本上,我要做的是遍历一个wp数据库表;检查记录,;$postnum值相当于WP post_id,并且在数据库中存在多次。因此,我只想快速遍历该表并创建一个数组,其中每个post_id($postnum)只包含一次。所以我想,我所需要做的就是在循环之外创建一个数组;然后在循环中检查$postnum是否已经在数组中;如果不只是添加它…那么所有具有相同postnum的记录都不会添加到数组中 这是我的密码: $po

大家好:我对数组没有太多经验,但我正在努力学习。尝试一些新的东西,不知道是否可以这样做。基本上,我要做的是遍历一个wp数据库表;检查记录,;$postnum值相当于WP post_id,并且在数据库中存在多次。因此,我只想快速遍历该表并创建一个数组,其中每个post_id($postnum)只包含一次。所以我想,我所需要做的就是在循环之外创建一个数组;然后在循环中检查$postnum是否已经在数组中;如果不只是添加它…那么所有具有相同postnum的记录都不会添加到数组中

这是我的密码:

$posts_counted=array();
global $wpdb;

foreach( $wpdb->get_results("SELECT * FROM wp_c93hh3bk23_pvc_daily") as $key => $row) {

$id = $row->id;
$time = $row->time;
$postnum = $row->postnum;
$postcount = $row->postcount;



if (in_array($postnum,$posts_counted)) 
{
 array_push($posts_counted,$postnum);
}

} // close out foreach
我从来没有真正使用过“数组内”或“数组推送”的东西;所以这些对我来说都是新的

我得到:“解析错误:语法错误,意外的“”(T_字符串)在…” 参考行“if(在数组中($postnum,$posts\u counted))”

所以我想知道是否有人能告诉我,我想做的事情是否可以这样做,或者我在这件事上做错了什么


谢谢

这是我从db获取数据的方式:

$sql= "Select * FROM table";
$result=mysql_query($sql);

while($rows = mysql_fetchArray($result)){
  $data= $rows;
 }
//checking if something is in array
if(in_array($data['id')){
    //do something
  }
//now how you want to get data
// echo json_encode($data)
 //OUTPUT: {id:"1",name:"xyz"}

无论如何,如果您希望“postNum”唯一,请在选择后添加DISTINCT来修复sql。

中的
$posts\u counted
替换为
中的if(在数组中($postNum,$posts\u counted))
$postcount
相同。因此,它将变成这样的
if(在数组中($postNum,$postcount))
这是完整的代码吗?为什么要进行数据库查询?为什么不直接使用?它返回一个数组…2。对mevius来说:我不能使用“get_posts()”;这是从插件的表中提取的;这是存储信息的职位;但是这不是“get_posts()”可以访问的内容。您确定编辑了正确的文件/将其保存在了正确的位置吗?代码中没有语法错误,但是我不能使用SELECT DISTINCT,因为$postnum值会出现多次,所以它不是DISTINCT;我只想将它添加到数组中一次,然后停止…谢谢…另一个想法。。。如果$postnum值比save in array(true)生成一次,则在$postnum值上做一个标记,否则(false),这意味着值的计数器(值重复的次数)我不明白为什么你不能使用
distinct
-如果你每天从wp\u c93hh3bk23\u pvc\u中选择distinct postnum,它不会返回多次,谢谢Hobo:我的理解是,SELECT distinct只选择一次其中的值;如果他们在那里多次;它不会选择它们;这对我不起作用,如果我错了,请让我知道谢谢大家的帮助,有很多人的建议,而且当我开始进一步研究这个问题时,我开始分解代码来尝试隔离问题,还没有明确地找到它,但我把它剥离下来,得到了“in_数组”以及“阵列推送”这两种方法都能起作用;所以现在我所需要做的就是一次一个地添加一些东西,看看我是否可以隔离这个问题;非常感谢你的帮助!