第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

PHP array_filter 獲取沒(méi)有鍵的值

PHP array_filter 獲取沒(méi)有鍵的值

PHP
函數(shù)式編程 2023-07-30 13:32:53
我有 Javascript 背景,我正在嘗試使用array_filter(),但它的工作方式與 JS 有很大不同。以這個(gè) JS 為例:const people = [  {    name: 'Will',    username: 'will',  },  {    name: 'Alex',    username: 'alex',  },  {    name: 'Abraham',    username: 'abraham',  },];const usernameToFind = 'abraham';const found = people.filter(person => person.username === usernameToFind);console.log(found[0]); // index 0// {//   name: 'Abraham',//   username: 'abraham'// }我希望所有用戶名都不同,因此它總是只返回一個(gè)值。因此,如果我想訪問(wèn)找到的信息,我只需要索引即可0。關(guān)于 PHP:<?php$people = [  [    'name' => 'Alex',    'username' => 'alex',  ],  [    'name' => 'Will',    'username' => 'will',  ],  [    'name' => 'Abraham',    'username' => 'abraham',  ],];$usernameToFind = 'abraham';$found = array_filter($people, function($person) use ($usernameToFind) {  return $person['username'] === $usernameToFind;});print_r($found);// Array// (//     [2] => Array//         (//             [name] => Abraham//             [username] => abraham//         )// )所以我的問(wèn)題是:我得到一個(gè)包含找到的元素索引的數(shù)組,但我不知道索引是什么。我看到了這個(gè)問(wèn)題,但它是完全不同的:PHP array_filter to get only one value from an array。我沒(méi)有使用array_search(),因?yàn)槲业乃阉麽樣?2 或 3 層深度,例如:array_filter($people, function ($person) use ($cityToFind) {   return $person['location']['city'] === $cityToFind;}我可以使用 for 循環(huán),但我真的想使用過(guò)濾器。提前致謝!
查看完整描述

2 回答

?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

你可以做幾件事。

  1. 要獲取數(shù)組的第一個(gè)元素,您可以使用reset($found) https://www.php.net/manual/en/function.reset.php

  2. 過(guò)濾數(shù)組后,您可以使用array_values($found) https://www.php.net/manual/en/function.array-values.php將數(shù)組鍵重置為從 0 開(kāi)始


查看完整回答
反對(duì) 回復(fù) 2023-07-30
?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

使用array_filter()將始終處理整個(gè)數(shù)組,在您的示例中,它是最后一個(gè)條目,因此無(wú)論如何都需要處理。但如果您有 500 個(gè)條目并且是第一個(gè)條目,它仍會(huì)檢查所有 500 個(gè)條目。


相反,您可以使用一個(gè)簡(jiǎn)單的foreach()循環(huán),一旦找到第一個(gè)循環(huán)就停止......


foreach ( $people as $index => $person )? ? {

? ? if ( $person['username'] === $usernameToFind )? {

? ? ? ? echo "Index={$index} name={$person['name']}";

? ? ? ? break;

? ? }

}

給...


Index=2 name=Abraham

查看完整回答
反對(duì) 回復(fù) 2023-07-30
  • 2 回答
  • 0 關(guān)注
  • 178 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)