PHP数组构建

时间:2014-01-20 23:48:03

标签: php arrays

我正在编写一个脚本来收集所有元数据记录并生成所有帖子及其各自元数据的数组。

除了我将元数据推入数组之外,一切似乎都能正常工作。下面是我正在使用的代码和我得到的输出示例。它是什么

 if (mysql_num_rows($currentCourtMetaGet) != null) {
                $metaArray = array();
                while($currentCourseMetaArray = mysql_fetch_array($currentCourseMetaGet)){

                    $metaKey = $currentCourseMetaArray['meta_key'];
                    $metaValue = $currentCourseMetaArray['meta_value'];
                    $metaInfo = "$metaKey => $metaValue";
                    array_push($metaArray, $metaInfo);
                }

                $currentcourse = array(
                    "course_name" => $queryOneResultsArray['post_title'],
                    "course_id" =>  $queryOneResultsArray['id'],
                    "course_meta" => $metaArray         
                );
            array_push($courseArray, $currentcourse);

            }

Meta Array输出:

 [course_meta] => Array
               (
                  [0] => licence_code => 
                  [1] => is_vocable => 0
                  [2] => region => Gladstone
               )

我想要的输出就是这个。

 [course_meta] => Array
               (
                licence_code => 
                is_vocable => 0
                region => Gladstone
               )

有人可以提出解决方案吗?

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

 if (mysql_num_rows($currentCourtMetaGet) != null) {
        $metaArray = array();
        while($currentCourseMetaArray = mysql_fetch_array($currentCourseMetaGet)){

            $metaKey = $currentCourseMetaArray['meta_key'];
            $metaValue = $currentCourseMetaArray['meta_value'];
            $metaArray[$metaKey] = $metaValue;
        }

        $currentcourse = array(
            "course_name" => $queryOneResultsArray['post_title'],
            "course_id" =>  $queryOneResultsArray['id'],
            "course_meta" => $metaArray         
        );
    array_push($courseArray, $currentcourse);

    }

将输出:

[course_meta] => Array
           (
            [licence_code] => 
            [is_vocable] => 0
            [region] => Gladstone
           )

数组以[key] => value格式“转储”。除非你手动输出它们,否则你想要达到的确切格式是不可能的。

答案 1 :(得分:0)

你试过这样做吗?

$metaArray[$metakey] = $metaInfo;

使用关联数组,使用

创建的内容,无法使用键添加值
$metaInfo = "$metaKey => $metaValue";

是一个字符串变量,没有键