PHP 數組重塑:將用戶名和郵箱信息合并為關聯數組

PHP 數組重塑:將用戶名和郵箱信息合并為關聯數組

本文檔旨在幫助 php 初學者理解如何將一個包含用戶名和郵箱信息的簡單數組,轉換為一個包含關聯數組的復雜數組,每個關聯數組都包含 USERLOGIN 和 EMaiL 鍵,對應用戶名和郵箱值。通過本文,你將學會如何使用 Array_slice 和循環來高效地完成數組轉換。

數組拆分與重組

假設我們有一個數組,前半部分是用戶名,后半部分是對應的郵箱地址。我們的目標是將這個數組轉換為一個二維數組,其中每個元素都是一個包含 USERLOGIN 和 EMAIL 鍵的關聯數組。

首先,我們需要將原始數組拆分為兩個獨立的數組:一個包含用戶名,另一個包含郵箱地址。 PHP 提供了 array_slice() 函數,可以方便地實現這一點。

<?php  $array = ['alexg', 'benny', 'shahar', '<a class="__cf_email__" data-cfemail="f998959c81989eb98e9c9b8a908d9cd79a9694" href="/cdn-cgi/l/email-protection">[email?protected]</a>', '<a class="__cf_email__" data-cfemail="d6b4b3b889a496a1b3b4a5bfa2b3f8b5b9bb" href="/cdn-cgi/l/email-protection">[email?protected]</a>', '<a class="__cf_email__" data-cfemail="05766d646d5a6c647745726067766c71602b666a68" href="/cdn-cgi/l/email-protection">[email?protected]</a>'];  $len = count($array); $half = $len/2;  $usernames = array_slice($array, 0, $half); $emails = array_slice($array, $half, $len);  print_r($usernames); print_r($emails);  ?>

在上面的代碼中,array_slice($array, 0, $half) 提取了數組 $array 從索引 0 開始,長度為 $half 的一部分,也就是用戶名部分。 array_slice($array, $half, $len) 提取了從索引 $half 開始,到數組末尾的部分,也就是郵箱地址部分。

立即學習PHP免費學習筆記(深入)”;

構建關聯數組

接下來,我們需要遍歷用戶名數組,為每個用戶名創建一個包含 USERLOGIN 鍵的關聯數組,并將這些關聯數組添加到新的數組中。然后,我們遍歷郵箱數組,并將每個郵箱地址添加到對應的關聯數組中,作為 EMAIL 鍵的值。

<?php  $array = ['alexg', 'benny', 'shahar', '<a class="__cf_email__" data-cfemail="f998959c81989eb98e9c9b8a908d9cd79a9694" href="/cdn-cgi/l/email-protection">[email?protected]</a>', '<a class="__cf_email__" data-cfemail="d6b4b3b889a496a1b3b4a5bfa2b3f8b5b9bb" href="/cdn-cgi/l/email-protection">[email?protected]</a>', '<a class="__cf_email__" data-cfemail="05766d646d5a6c647745726067766c71602b666a68" href="/cdn-cgi/l/email-protection">[email?protected]</a>'];  $len = count($array); $half = $len/2;  $usernames = array_slice($array, 0, $half); $emails = array_slice($array, $half, $len); $allUsers = [];  foreach($usernames as $username) {     $myUser['USERLOGIN'] = $username;     array_push($allUsers, $myUser); } foreach($emails as $key=>$email) {     $allUsers[$key]['EMAIL'] = $email; }  var_dump($allUsers);  ?>

在這個代碼片段中,我們首先創建了一個空數組 $allUsers。然后,我們遍歷 $usernames 數組,對于每個用戶名,我們創建一個新的關聯數組 $myUser,并將用戶名賦值給 USERLOGIN 鍵。然后,我們使用 array_push() 函數將 $myUser 數組添加到 $allUsers 數組中。

接下來,我們遍歷 $emails 數組,對于每個郵箱地址,我們將其賦值給 $allUsers 數組中對應索引的元素的 EMAIL 鍵。 注意,這里我們使用了 $key 來確保郵箱地址與正確的用戶名對應。

總結與注意事項

通過上述步驟,我們成功地將一個包含用戶名和郵箱信息的簡單數組,轉換為一個包含關聯數組的復雜數組。

注意事項:

  • 數組長度: 上述代碼假設原始數組的長度是偶數,并且用戶名和郵箱地址的數量相等。 如果數組長度不是偶數,或者用戶名和郵箱地址的數量不相等,則需要進行額外的錯誤處理。
  • 鍵名: 上述代碼使用了 USERLOGIN 和 EMAIL 作為鍵名。 可以根據實際需求修改這些鍵名。
  • 數據清洗: 在實際應用中,可能需要對用戶名和郵箱地址進行數據清洗,例如去除空格、轉換為小寫等。

掌握了這些技巧,你就可以靈活地處理各種數組轉換的需求,提高 PHP 編程的效率。

以上就是PHP 數組重塑:將用戶名和

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享