【问题标题】:How do I get the first array element which is an array itself?如何获取数组本身的第一个数组元素?
【发布时间】:2019-06-01 19:15:58
【问题描述】:

我有一个数据数组:

Array
(
[0] => Array
    (
        [chat_categories] => one cat
        [display_name] => admin user
        [user_email] => testemail1@email.com
        [user_login] => user
    )

[1] => Array
    (
        [chat_categories] => one cat
        [display_name] => Test User
        [user_email] => testemail@testsite.com
        [user_login] => testuser
    )

)

现在我想从该数组中获取第一个元素,检查值 display_name、user_email 和 user_login 是否匹配,如果匹配成功,则更新 wordpress 用户表中的 chat_categories 列。

【问题讨论】:

  • 好吧,你遍历外层数组的元素,检查当前元素是否为数组类型,比较你要检查的值,更新你要更新的值。
  • 您似乎在这里几乎要求两件事。你能澄清一下你的PHP代码中的“匹配”是什么意思吗?此外,如果您需要有关 MySQL 查询的帮助,那么您应该向我们展示表结构。
  • @TimBiegeleisen 通过匹配我的意思是,如果列 display_name、user_email 和 user_login 中的值与数组中的数据匹配,它应该更新列 chat_categories。我的表有 4 列,这里已经提到过。

标签: php mysql wordpress


【解决方案1】:

所以,就我而言,这对我有帮助,

   for($i=0; $i<sizeof($arr); $i++){
    $data = $arr[$i];
    $chat_categories = $data[chat_categories];
    $display_name = $data[display_name];
    $user_email = $data[user_email];
    $user_login = $data[user_login];
    $success = $wpdb->query("UPDATE $userTableName SET chat_categories = '$chat_categories' WHERE user_email = '$user_email' AND user_login ='$user_login' ");
    }   

【讨论】:

    【解决方案2】:

    您也可以将foreach loop 用作:

    $arr = array(
                "0" => array(
                       "chat_categories" => "one cat",
                       "display_name" => "admin user",
                       "user_email" => "testemail1@email.com",
                       "user_login" => "user"
                 ),
               "1" => array(
                      "chat_categories" => "one cat",
                      "display_name" => "Test User",
                      "user_email" => "testemail@testsite.com",
                      "user_login" => "testuser"
                )
       );
    
    foreach($arr as $innerArr){    
        $chat_categories = $innerArr["chat_categories"];
        $display_name = $innerArr["display_name"];
        $user_email = $innerArr["user_email"];
        $user_login = $innerArr["user_login"];
        $success = $wpdb->query("UPDATE $userTableName SET chat_categories = '".$chat_categories."' WHERE user_email = '".$user_email."' AND user_login ='".$user_login."'");
        } 
    

    【讨论】:

      猜你喜欢
      • 2011-05-04
      • 2010-12-27
      • 2012-06-05
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      • 2015-11-22
      相关资源
      最近更新 更多