Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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数组\u键推送=>;价值_Php_Arrays - Fatal编程技术网

PHP数组\u键推送=>;价值

PHP数组\u键推送=>;价值,php,arrays,Php,Arrays,这是我的密码 foreach ($query1 as $post) { foreach ($query2 as $data) { if ($post->post_id == $data->post_id) { // add all actions from a post to its array if (!isset($post->post_meta)) {

这是我的密码

foreach ($query1 as $post)
{
    foreach ($query2 as $data)
    {
        if ($post->post_id == $data->post_id)
        {
            // add all actions from a post to its array
            if (!isset($post->post_meta))
            {
                $post->post_meta = array( strtolower($data->post_meta_key) => $data->post_meta_value );
            }
            else
            {
                array_push( $post->post_meta[strtolower($data->post_meta_key)] = $data->post_meta_value );
            }
        }
    }
}
我不知道如何修复代码。我没有得到值,只有键,还有一些错误

数组_push()至少需要2个参数,给定1个

它应该打印出这样的内容

 [0] => stdClass Object
        (
            [post_id] => 218
            [post_meta] => Array
                (
                    [flagged] => 0
                    [deleted] => 1
                )

        )
你是说这个吗

$post->post_meta[strtolower($data->post_meta_key)] = $data->post_meta_value;
你是说这个吗

$post->post_meta[strtolower($data->post_meta_key)] = $data->post_meta_value;

我想,你需要这个:

 $post->post_meta[strtolower($data->post_meta_key)] = $data->post_meta_value;

我想,你需要这个:

 $post->post_meta[strtolower($data->post_meta_key)] = $data->post_meta_value;
从(我的)重点:

array\u push()
将数组视为一个数组,并将传递的变量推送到数组的末尾

所以你不能传递钥匙。如果要传递密钥,请使用

$yourArray[$theKey] = $theValue;
然后,它将覆盖
$theKey
$theValue
(如果已存在)或将其附加到数组的末尾。另见:

来自(强调矿):

array\u push()
将数组视为一个数组,并将传递的变量推送到数组的末尾

所以你不能传递钥匙。如果要传递密钥,请使用

$yourArray[$theKey] = $theValue;
然后,它将覆盖
$theKey
$theValue
(如果已存在)或将其附加到数组的末尾。另见:


    • 我同意其他人的看法。此外,如php手册所述:

      注意:如果使用
      array\u push()
      向数组添加一个元素,最好使用
      $array[]=
      ,因为这样就不会有调用函数的开销


      我同意别人的看法。此外,如php手册所述:

      注意:如果使用
      array\u push()
      向数组添加一个元素,最好使用
      $array[]=
      ,因为这样就不会有调用函数的开销


      什么返回了$data->post\u meta\u值?PHP有一个很好的文档,在遇到麻烦时使用它。不清楚代码的哪些部分在做什么。您测试是否设置了
      $post->post\u meta
      ,但您确定设置了
      $post->post\u meta[strtolower($data->post\u meta\u key)]
      ?@lucasmus-是的,设置了im正post\u meta\u key。。。我更新了一点代码。我改了密码。我是PHP新手,但它和对象和数组有什么关系吗?返回的$data->post\u meta\u值是什么?PHP有一个很好的文档,在遇到麻烦时使用它。不清楚代码的哪些部分在做什么。您测试是否设置了
      $post->post\u meta
      ,但您确定设置了
      $post->post\u meta[strtolower($data->post\u meta\u key)]
      ?@lucasmus-是的,设置了im正post\u meta\u key。。。我更新了一点代码。我改了密码。我是PHP新手,但它与对象和数组有什么关系吗?@cno您不能澄清一下,请给出确切的错误消息吗?array_push()至少需要2个参数,1given@cnot是的,我是说你不应该使用
      array\u push
      ,而应该将值赋给键<代码>数组推送不做按键…我觉得自己像个dumb@ss... 我不知道我为什么不那样做。Thanks@cnot请用确切的错误消息说明这一点,好吗?array_push()至少需要2个参数,1given@cnot是的,我是说你不应该使用
      array\u push
      ,而应该将值赋给键<代码>数组推送不做按键…我觉得自己像个dumb@ss... 我不知道我为什么不那样做。谢谢