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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

多維數(shù)組的多值搜索未在 PHP 中返回預(yù)期結(jié)果

多維數(shù)組的多值搜索未在 PHP 中返回預(yù)期結(jié)果

PHP
慕標(biāo)琳琳 2022-12-23 10:09:06
我正在嘗試構(gòu)建一個允許搜索多維數(shù)組的函數(shù),其中每個子數(shù)組都匹配多個條件。我遇到了一種奇怪的行為,無法弄清楚為什么會這樣。以下是導(dǎo)致問題的一般邏輯。我在 PHP 7.4 上運(yùn)行它是為了它的價值。最終的鍵數(shù)組 ( $keys2) 應(yīng)該與第一個鍵數(shù)組( ) 匹配$keys,但它失去了與預(yù)期索引的關(guān)聯(lián)。看來 PHP 忽略了我給定的 int 索引,array_keys()而是在最終調(diào)用中使用了未見過的 0 索引索引。$array = [    ['one' => 'aa', 'two' => 'qq'],    ['one' => 'bb', 'two' => 'qq'],    ['one' => 'aa', 'two' => 'qq'],    ['one' => 'bb', 'two' => 'qq'],    ['one' => 'aa', 'two' => 'qq'],];$keys = array_keys(array_column($array, 'one'), 'aa');$array2 = array_filter($array, static function($key) use ($keys) {    return in_array($key, $keys, true);}, ARRAY_FILTER_USE_KEY);$keys2 = array_keys(array_column($array2, 'two'), 'qq');echo '<pre>';var_dump($array, $keys, $array2, $keys2);echo '</pre>';以上輸出:/var/www/test.php:array (size=5)  0 =>     array (size=2)      'one' => string 'aa' (length=2)      'two' => string 'qq' (length=2)  1 =>     array (size=2)      'one' => string 'bb' (length=2)      'two' => string 'qq' (length=2)  2 =>     array (size=2)      'one' => string 'aa' (length=2)      'two' => string 'qq' (length=2)  3 =>     array (size=2)      'one' => string 'bb' (length=2)      'two' => string 'qq' (length=2)  4 =>     array (size=2)      'one' => string 'aa' (length=2)      'two' => string 'qq' (length=2)/var/www/test.php:array (size=3)  0 => int 0  1 => int 2  2 => int 4/var/www/test.php:27:array (size=3)  0 =>     array (size=2)      'one' => string 'aa' (length=2)      'two' => string 'qq' (length=2)  2 =>     array (size=2)      'one' => string 'aa' (length=2)      'two' => string 'qq' (length=2)  4 =>     array (size=2)      'one' => string 'aa' (length=2)      'two' => string 'qq' (length=2)/var/www/test.php:array (size=3)  0 => int 0  1 => int 1  2 => int 2
查看完整描述

1 回答

?
慕標(biāo)5832272

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

<?php 


$array = [

    ['one' => 'aa', 'two' => 'qq'],

    ['one' => 'bb', 'two' => 'qq'],

    ['one' => 'aa', 'two' => 'qq'],

    ['one' => 'bb', 'two' => 'qq'],

    ['one' => 'aa', 'two' => 'qq'],

];


$keys = array_keys(array_column($array, 'one'), 'aa');

$array2 = array_filter($array, static function($key) use ($keys) {

    return in_array($key, $keys, true);

}, ARRAY_FILTER_USE_KEY);


$keys2 = array_keys(array_combine(array_keys($array2), array_column($array2, 'two')), 'qq', true);


echo '<pre>';

var_dump($array, $keys, $array2, $keys2);

echo '</pre>';


查看完整回答
反對 回復(fù) 2022-12-23
  • 1 回答
  • 0 關(guān)注
  • 121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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