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

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

如果數(shù)組的鍵與另一個(gè)數(shù)組的鍵匹配,如何替換數(shù)組中的元素?

如果數(shù)組的鍵與另一個(gè)數(shù)組的鍵匹配,如何替換數(shù)組中的元素?

PHP
回首憶惘然 2023-04-15 20:50:51
我有兩個(gè)長(zhǎng)度相同的 txt 文件(每個(gè)文件 10 行)。一個(gè)文件具有 ID,另一個(gè)文件具有與每個(gè) ID 關(guān)聯(lián)的“評(píng)級(jí)”(0、1、2 等)。例如:文本 1 | 文本 2123 | 1234 | 2等我想在提供 ID 時(shí)替換評(píng)級(jí)。我所做的是搜索與提供的 ID 關(guān)聯(lián)的鍵,當(dāng)它與 ratings 數(shù)組中的鍵匹配時(shí),我替換 ratings 數(shù)組中的相應(yīng)值。因此,想法是在 ids (key=0) 中找到 '123' 的鍵,并將評(píng)級(jí)值替換為 key=0(在本例中為 1)以獲得另一個(gè)值。我在函數(shù)中有以下內(nèi)容:public function updateRating($disease, $id, $rating){    $filename = $disease.".txt";    $filename_2 = $disease."Ratings.txt";    $ids = file($filename);    $ratings = file($filename_2);    $index_ids = array_keys($ids, $id."\n");    $index_ratings = array_keys($ratings);    $size = count($ids);    for($i=0; $i<$size; $i++){        if($index_ratings[$i] == $index_ids){            $ratings = str_replace($ratings[$i], $rating."\n", $ratings);        }    }    $ratings_n = implode("", $ratings);    file_put_contents($filename_2, $ratings_n);    return array("debug2" => $index_ids, "debug3" => $index_ratings, "debug4" => $ratings);index_ids(提供的 ID 的鍵)被正確返回,但是評(píng)級(jí)數(shù)組($ratings)被返回,就好像什么都沒(méi)有被替換一樣。這段代碼有什么問(wèn)題,我怎樣才能更正它來(lái)做我想做的事?
查看完整描述

2 回答

?
叮當(dāng)貓咪

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

在您的函數(shù)中使用 array_search() 來(lái)獲取密鑰:

function replaceValue($value, $arr1, &$arr2){

? ? $key = array_search($value, $arr1);

? ? if($key === false){

? ? ? ? return false;

? ? }else{

? ? ? ? $arr2[$key] = $value;

? ? ? ? return true;

? ? }

}


if(replaceValue("baz", $arr1, $arr2)){

? ? print_r($arr2);

}else{

? ? echo "no match found";

}


Result:


Array

(

? ? [x] => bizz

? ? [y] => bazz

? ? [c] => baz

)


查看完整回答
反對(duì) 回復(fù) 2023-04-15
?
米脂

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

您可以按照這種步驟來(lái)實(shí)現(xiàn)結(jié)果


<?php

$arr1 = [0 => '123', 1 => '234'];

$arr2 = [0 => 'a', 1 => 'b'];



for ($i=0; $i < sizeof($arr1) ; $i++) { 

    for ($i=0; $i < sizeof($arr1) ; $i++) { 

        if ($arr1[$i] == '123') {

            $arr2[$i] = 'abc';          

        }

    }

}

echo'<pre>';

print_r($arr2);

echo '<pre>';

?>

輸出


Array

(

    [0] => abc

    [1] => b

)


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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