Ⅰ thinkphp php 判斷兩個數組array中值相同的個數
只需要定義一個變數用來統計相同個數
然後對第一個數組進行遍歷
通過in_array函數檢查第一個數組中的元素是否在第二個數組中
如果在就進行統計
這樣循環結束後就能得到兩個數組相同值的個數
下面是一個簡單的代碼
<?php
$array1=array(1,2,3,4,5);
$array2=array(4,5,6,7,8);
$count=0;
for($i=0;$i<count($array1);++$i)
if(in_array($array1[$i],$array2))
++$count;
echo"相同的個數為:$count ";
?>
Ⅱ PHP中的strcmp()函數對數組元素進行字元串比較;是怎麼比較的是大到小還是小到大
PHP里的strcmp()函數有兩個參數,完整形式為:
strcmp(string1,string2)
其返回結果在:
(a) string1跟string2相等時,返回等於0
(b)string1比string2小時,返回值< 0
(c)string1比string2大時,返回值> 0
具體的比較大小,我給你舉兩個例子就知道了:
相等的情況就不用說了,假設string1是abcde,string2是abced,那麼比較的時候
從第一個字元開始比較,發現都是a,不能決定結果
繼續比較第二個字元,發現都是b,不能決定結果
繼續比較第三個字元,發現都是c,不能決定結果
繼續比較第四個字元,發現stirng1中的是d,而string2中的是e,比較他們的ASCII碼
d要比e小,因此,string1比string2小,後面的就不比較了,到這里就結束了,返回一個小於零的值
如果一個長一個短,怎麼辦呢?比如string1是hello, string2是helloworld
此時比較到o之後,發現string1已經結束了,而string2還沒結束,認為string1 < string2
這就好比按照大小個排隊,個子矮的站在前面了,認為是小的。
明白了吧:)
另外,學習使用函數的時候,應該善於查手冊,比如這里:
http://php.net/manual/en/function.strcmp.php
希望對你有所幫助,如果還有問題,歡迎交流:)
Ⅲ php 兩個二維數組比較,從第一個二維數組中,將第二個二維數組不同項挑選出來,最終合並成為一個新的數組
方法是使用array_udiff函數。代碼如下:
function diff_arr($a, $b){
return $a["id"] > $b["id"] ? 1 : ($a["id"] < $b["id"] ? -1 : 0);
}
print_r(array_udiff($arr0, $arr1, "diff_arr"));
Ⅳ php 數值與數組中的值進行比較獲取數組相對的KEY值:
這個可以取巧,先把這個數插進數組,然後數組排序,然後獲得這個數的下標,-1就是相對位置的值前面26的值,27本來下標就是源數組中的後一個
死一點的辦法就是for循環對比值了,關鍵比對if:
if(arr[i]<27 && arr[i+1]<27) continue;
if(arr[i]<27 && arr[i+1]>27) echo 相對位置在i,i+1之間 ;
具體自己寫啊