簡體   English   中英

如何在 php 中僅打印新數組值

[英]How to print ONLY new array values in php

假設我有一個這樣的數組:

Array
(
 [0] => Array
   (
    [0] => John
    [1] => accountant
    [2] => senior
    [3] => joined on 2018-03-12
    [4] => http://personalblog[dot]com/abc
    [5] => Germany 
)

[1] => Array
   (
    [0] => Marry
    [1] => journalist
    [2] => junior
    [3] => 2019-04-13
    [4] => http://personalblog[dot]com/efd
    [5] => Canada
)
[2] => Array
   (
    [0] => Jim
    [1] => salesman
    [2] => junior
    [3] => 2017-01-18
    [4] => http://personalblog[dot]com/ehs
    [5] => US
)
[3] => Array
   (
    [0] => Clair
    [1] => director assistant
    [2] => senior
    [3] => 2019-08-22
    [4] => http://personalblog[dot]com/khh
    [5] => Singapore
   )
)

我有一張這樣的桌子:

id      name    ...      Date_joined
---------------------------------
1      Jack     ...      2019-07-25
2      Clair    ...      2019-08-22
3      Jim      ...      2017-01-18

我做了一個foreach loop來獲取上面數組的values ,如下所示:

foreach ($arr as $key => $value){
    echo  $value.'<br />';
}

然后我使用SELECT查詢檢索表的name column ,如下所示:

$query = "SELECT name FROM tabeName";
$r = mysqli_query($dbc, $query);
while($row = mysqli_fetch_array($r, MYSQLI_ASSOC)){
    echo $row['name'].'<br />';
}

我想要得到的是將數組值之一 * 與表中的名稱進行比較,以便我可以只print到目前為止尚未出現在表中的數組值,即Marry 和 John

我被困在這一步,因為我在while loop中嘗試了if條件,如下所示:

if($row['name']!= $value[0]){

    echo $value[0].'<br />';
}else{
    echo 'No new value found';
}

但我只是從表中獲取了所有名稱 3 次,而不是根據需要從數組中獲得新名稱MarryJohn的唯一新數組值。

您只能通過數組的名稱來制作數組。 然后在比較時只檢查 in_array() function。 這將解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM