簡體   English   中英

如何在不使用對象的情況下為每個元素創建一個具有2個變量的PHP數組?

[英]How do I create a PHP array with 2 variables for each element without using an object?

我是PHP新手,如果可能,需要一些幫助。

我有陣列

array("Name" => $userName, "Age" => $userAge);

這對一個用戶有效,但可以說我想添加多個都有名稱和年齡的用戶,我該怎么做? 除了傳遞$userName ,我還需要傳遞它一個用戶名數組,而不是傳遞$userage一個用戶年齡數組,從而使其成為多維用戶嗎?

同樣出於我的目的,我不能將用戶名和用戶名放在一個對象中,然后將其添加到數組中。

一種方法是:

array(
    array("Name" => $userName, "Age" => $userAge),
    array("Name" => $userName1, "Age" => $userAge1),
    array("Name" => $userName2, "Age" => $userAge2)
    ...
);

這是一些示例代碼,應該可以解決您遇到的問題。 名稱和年齡這兩個輸入數組不需要大小相同,輸出數組將插入默認值(名稱為“ N / A”,年齡為-1),其中缺少相應的名稱或年齡。

$userNames = ['name1', 'name2', 'name3', 'name4'];
$userAges = [26,14,99];
$userNamesAndAges = [];

for ($i=0; $i < max(count($userNames), count($userAges)); $i++) {
    if (isset($userNames[$i])) {
        $userName = $userNames[$i]; 
    } else {
        $userName = 'N/A';
    }

    if (isset($userAges[$i])) {
        $userAge = $userAges[$i];
    } else {
        $userAge = -1;
    }

    $userNamesAndAges[] = [
        'Name' => $userName,
        'Age' => $userAge
    ];
}

foreach ($userNamesAndAges as $obj) {
    $name = $obj['Name'];
    $age = $obj['Age'];
    echo("Name: $name, Age: $age<br>"); 
}

輸出:

姓名:name1,年齡:26歲
姓名:name2,年齡:14歲
姓名:name3,年齡:99
名稱:name4,年齡:-1

將變量$ userName和$ userAge轉換為數組-

$userName = (array)$userName;
$userAge = (array)$userAge;

遍歷它們以進行進一步處理。 如果數組的大小是一個或多個,則不會有任何區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM