Yahoo奇摩知識+ 將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+ 網站將會轉為唯讀模式。其他 Yahoo奇摩產品與服務或您的 Yahoo奇摩帳號都不會受影響。如需關於 Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

PHP MYSQL 陣列比對問題

有兩個陣列

$a=array(1,3,5,11);

$b=array(1,3,5,7,9);

$a為MYSQL內讀出

$b為新的陣列

要如何寫才可以讓MYSQL再讀出$a時為$b

1,3,5,為原有資料,不可刪除

要刪除11加入7與9.....

已更新項目:

closs大大

我有看懂你的FUNCTION

ECHO兩各陣列出來也都同步了

可是卻出現了很多錯誤碼

Undefined offset: 這是???

4 個解答

評分
  • 1 0 年前
    最佳解答

    也就是 兩個陣列 比對不同的值排除

    就留 比對相同的值?

    2010-09-29 11:07:33 補充:

    $a=array(1,3,5,11);

    $b=array(1,3,5,7,9);

    預設值10 一最多值陣列來進同步

    for($array_abc = 0; $array_abc <= 10; $array_abc ++){

    array_ab(&$a,&$b,$array_abc);}

    function array_ab(&$a,&$b,$c){

    if($a[$c] != $b[$c]){

    $a[$c] = $b[$c]; //在此讓A陣列 與B同步 同值 }}

    2010-09-29 11:07:59 補充:

    有錯跟我說 新手..

    2010-09-29 11:09:10 補充:

    我新手 有錯跟我說 我會修正

    2010-09-29 11:10:54 補充:

    for($array_abc = 0; $array_abc <= 10; $array_abc ++){

    array_ab(&$a,&$b,$array_abc);}

    這部分改為

    for($array_abc = 0; $array_abc <= 10; $array_abc ++){

    array_ab($a,$b,$array_abc);}

    2010-10-22 00:36:11 補充:

    echo $aa.','.$bb.' ';}

    function array_abe(&$a,&$b,$c){

    if($a[$c] == '')$a[$c] = "?";

    if($b[$c] != $a[$c]){

    $b[$c] = $a[$c]; //在此讓A陣列 與B同步 同值

    }}

    ?>

    2010-10-22 00:37:19 補充:

    //預設值10 一最多值陣列來進同步

    $a = array(1,3,5,11);

    $b = array(1,3,5,7,9);

    for($array_abc = 0; $array_abc <= 10; $array_abc++){

    $array_ab = $array_abc;

    array_abe($a,$b,$array_ab);

    $aa = $a[$array_ab];

    $bb = $b[$array_ab];

    參考資料: 自己, 若 有問題 兩者 試試不出錯的那部分
  • 志國
    Lv 7
    1 0 年前

    Closs 大大自稱新手,踴躍回答,哇,好棒,鼓勵^^b

    加油,感動捏~~

  • Sam
    Lv 6
    1 0 年前

    請先參照看看「in_array()」的用法。

    2010-09-29 13:20:34 補充:

    用in_array(),就可以把不存在$b的$a的資料刪除。

    反過來就是新增$b不在$a的資料。

  • 1 0 年前

    不對....

    A陣列是說他1 3 5 11休假

    但他要新增 7 9 休假 11號不休

    所以是要保留AB相同的刪掉A多的,加上B多的....>

還有問題?馬上發問,尋求解答。