Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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
Arrays 从wordpress中的数组创建多维数组_Arrays_Wordpress - Fatal编程技术网

Arrays 从wordpress中的数组创建多维数组

Arrays 从wordpress中的数组创建多维数组,arrays,wordpress,Arrays,Wordpress,我希望填充$list,而不是该示例数据,而是为每个id使用带有自定义字段值的数组。像这样: foreach($idArr as $ID) array('.'get_post_meta($ID, 'name', true)'.'), array('.'get_post_meta($ID, 'email', true)'.') //and so on ... } $idArr包含post ID print_r($idArr); Array ( [0] => 242 [1] =&

我希望填充$list,而不是该示例数据,而是为每个id使用带有自定义字段值的数组。像这样:

foreach($idArr as $ID)
  array('.'get_post_meta($ID, 'name', true)'.'),
  array('.'get_post_meta($ID, 'email', true)'.')
  //and so on ...

}
$idArr包含post ID

print_r($idArr);
Array ( [0] => 242 [1] => 241 )

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

如果我正确解释了您的问题,您可以使用get\u post\u custom

通过这样做,您将得到的结构是

$list = array(
    0 => array(
        'key1' => array( [0] => 'value' ),
        'key2' => array( [0] => 'value2' ),
    )
);
问题是,每个自定义字段都可以有多个值,因此可以返回一个数组而不是字符串。它相当于get\u post\u meta$post\u id,'key',false;。调整代码以使用此格式

或者,如果您正在查找特定字段,您可以尝试:

$list = array();

foreach ( $idArr as $ID ) {
    $fields = get_post_custom( $ID );
    $values = array();

    // Select only the values you need and add them to the array. REPEAT as needed.
    if ( ! empty( $fields['email'][0] ) {
        $values[] = $fields['email'][0];
    } 

    $list[] = $values;        
}
上面的方法解决了我的第一个示例中的问题,即为什么每个字段都是数组而不是字符串


我可能还想给每个数组值一个键。例如,$list[]变成$list[$ID]..

我需要将它们保存到csv文件中。PHP有内置函数来完成此操作。是的。。。但这是我需要写入csv文件的信息。我很高兴帮助您解决您编写的一些代码的问题,但是我无法为您编写所有代码。明白了。你的选择适合我。现在如何打开“保存文件”窗口并将csv保存到我的计算机?
$list = array();

foreach ( $idArr as $ID ) {
    $fields = get_post_custom( $ID );
    $values = array();

    // Select only the values you need and add them to the array. REPEAT as needed.
    if ( ! empty( $fields['email'][0] ) {
        $values[] = $fields['email'][0];
    } 

    $list[] = $values;        
}