获取CUSTOM_USER元值并添加条目

时间:2013-05-07 作者:Sebsemillia

我创建了一个自定义用户meat值,并想向该数组添加一个新的键/值。但不知怎么的,我不能让它正常工作,我总是在数组的旁边有一个新的数组,所以我总是有一个新的维度。但我只想保持一维并添加新的键/值对。

我知道这并不复杂,但不知何故,我无法让它发挥作用。如果有任何帮助,我将不胜感激。

我的输入脚本:

$invoice_meta = get_user_meta( $_GET[\'id\'], \'invoices\');
$random = substr(number_format(time() * rand(),0,\'\',\'\'),0,5);
if(empty($invoice_meta)) {
    $invoice_array = array();
    $invoice_array[date(\'d.m.Y\').\'_\'.$random] = $pdf_save_path.$pdf_name;
    add_user_meta( $_GET[\'id\'], \'invoices\', $invoice_array);
} else {
    $invoice_array = $invoice_meta;
    $invoice_array[date(\'d.m.Y\').\'_\'.$random] = $pdf_save_path.$pdf_name;
    update_user_meta( $_GET[\'id\'], \'invoices\', $invoice_array );
}
第一个条目var\\u dump如下所示:

array(1) {
  [0]=>
  array(1) {
    ["07.05.2013_51584"]=>
    string(69) "user-data/26/rechnung/tierportal-d_07-05-2013_587543369Y48693K_26.pdf"
  }
}
在第二个之后,它看起来是这样的:

array(1) {
  [0]=>
  array(2) {
    [0]=>
    array(1) {
      ["07.05.2013_51584"]=>
      string(69) "user-data/26/rechnung/tierportal-d_07-05-2013_5875448693K_26.pdf"
    }
    ["07.05.2013_37016"]=>
    string(69) "user-data/26/rechnung/tierportal-d_07-05-2013_58754348693K_26.pdf"
  }
}
但我想让它看起来像这样

array(1) {
  [0]=>
  array(2) {
    ["07.05.2013_51584"]=>
    string(69) "user-data/26/rechnung/tierportal-d_07-05-2013_587543369Y48693K_26.pdf",
    ["07.05.2013_51534"]=>
    string(69) "user-data/26/rechnung/tierportal-d_07-05-2013_587543367Y48693K_26.pdf"
  }
}

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

你需要通过get_user_meta 防止返回数组的第三个参数。这就是错误所在,而不是添加/更新函数。

$invoice_meta = get_user_meta( $_GET[\'id\'], \'invoices\', true);
您将需要清理数据库中已有的任何数据,否则现有的嵌套数组仍会造成问题。

结束

相关推荐

populate array with posts

我想生成一个自定义帖子类型的数组,将其添加到选项数组中。我这样做是为了显示一个由自定义帖子类型填充的复选框组。我有这个阵列:\'options\' => array ( \'one\' => array ( \'label\' => \'Option One\', \'value\' => \'one\' ), \'two\' => array (