这种访问数组?

时间:2018-09-24 08:07:27

标签: php arrays

如何访问这种数组?我要检查电子邮件和密码以进行登录吗?  这是一个简单的登录页面。 用户将输入电子邮件和密码。 我正在从第三方应用程序即infusionSoft获取数据。 因此,为此,我需要先获取所有数据,然后检查正确的登录名和密码。 但是我无法访问我得到的数据。这是伪数据。

 array(4) {
    [0]=>
        array(4) {
             ["Email"]=>
             string(26) "samruddhi18dsw10@gmail.com"
             ["Id"]=>
             int(661937)
           }
    [1]=>
         array(4) {
                  ["Phone1"]=>
                  string(14) "(704) 565-5781"
                  ["Email"]=>
                  string(26) "samruddhi18rer10@gmail.com"
          }
     }

数据存储在此变量和

     $returnFields = array('Id','FirstName','Email','Phone1','_PasswordStf'); 

     $contacts = $app->dsFind('Contact',999,0,'Groups',8749,$returnFields);

     echo '<pre>';var_dump($contacts);echo '<pre>';

我只想使用此条件进行登录

    if ($array_name['email'] == "$user_name" && $array_name['password'] == "$password") 

2 个答案:

答案 0 :(得分:2)

根数组是一个索引数组,因此您必须使用索引来访问其元素,而子数组是关联的,则必须使用其键来访问它们。

因此,要检查电子邮件和密码(例如),您可以编写以下内容:

<?php

$email = $your_array[0]["Email"];
$password = $your_array[0]["Password"];

其中$your_array是根数组的名称,[0]是要访问的子数组的索引,而["Email"]是子数组元素的键。

已更新

我认为您正在尝试执行以下操作:

for($i = 0; $i < sizeof($contacts); $i++)
{
    $given_email = null;
    $given_password = null;

    if(is_array($contacts[$i])){

        if(!empty($contacts[$i]["Email"])){

            $given_email = $contacts[$i]["Email"];
        }

        if(!empty($contacts[$i]["Password"])){

            $given_password = $contacts[$i]["Password"];
        }
    }

    if (!empty($given_email) && $given_email == $user_name && !empty($given_password) && $given_password == $password){

        // login success
    }
}

check the PHP manual for more details

答案 1 :(得分:0)

您在索引数组和关联数组之间混合使用。因此,如果您要查找的是数据,那么可以在继续操作之前进行检查以确保数据在那里?

例如:

if(isset($user[1]["email"]) && !empty($user[1]["email"]))
{

   echo "User email: " . $user[1]["email"];
}