php並集
『壹』 php數組的幾個操作,求並集,交集,差集,數組
PHP數組的幾個操作,求並集,交集,差集,數組與字元串的相互轉換及數組去重
在php中如果我想要對兩個數組進行如並集、交集和差集操作,我們可直接使用php自帶的函數來操作如array_merge(),array_intersect(),array_diff().
計算數組的合並 array_merge與「+」的區別
array_merge() 函數把兩個或多個數組合並為一個數組。
如果鍵名有重復,該鍵的鍵值為最後一個鍵名對應的值(後面的覆蓋前面的),如果數組是數字索引的,則鍵名會以連續方式重新索引。
注釋:如果僅僅向 array_merge() 函數輸入了一個數組,且鍵名是整數,則該函數將返回帶有整數鍵名的新數組,其鍵名以 0 開始進行重新索引.代碼如下:
$a = array(1 => 'a', 'b', 'c');
$b = array(1 => 'aa', 2, 'c');
$union = array_merge($a, $b);
$plus = $a + $b;
print_r($union);
print_r($plus);
//結果依次為:
Array
{
[0]=> a
[1]=> b
[2]=> c
[3]=> aa
[4]=> 2
[5]=> c
}
Array
(
[1] => a
[2] => b
[3] => c
)
要合並的兩個數組中有相同的字元串鍵的時候,使用array_merge()會覆蓋掉原來的值,而使用「+」合並數組則會和用「+」號合並數組相同數字鍵一樣把最先出現的值作為最終結果返回,如下例:
$a2 = array('str' => 'a', 'b', 'c');
$b2 = array('str' => 'aa', 2, 'c');
$union2 = array_merge($a2, $b2);
$plus2 = $a2 + $b2;
print_r($union2);
print_r($plus2);
//結果依次為:
Array
(
[str] => aa
[0] => b
[1] => c
[2] => 2
[3] => c
)
Array
(
[str] => a
[0] => b
[1] => c
)
注:如果想用array_merge合並兩個數組,返回結果可能還會有相同的元素,這時候可以用array_unique()把相同的元素去掉
計算數組的交集
array_intersect() 函數返回兩個或多個數組的交集數組,結果數組包含了所有在被比較數組中,也同時出現在所有其他參數數組中的值,鍵名保留不變,注釋:僅有值用於比較,代碼如下:
$a = array('jpg','png','gif','bmp');
$b = array('JPG','txt','docx','bmp');
$intersection = array_intersect($a, $b);
還可以通過函數,獲取自己想要的(比如元素不區分大小寫),代碼如下:
$intersection2 = array_intersect(array_map('strtolower',$a), array_map('strtolower',$b));
print_r($intersection);
print_r($intersection2);
//結果依次為:
Array
(
[3] => bmp
)
Array (
[0] => jpg
[3] => bmp
)
計算數組的差集,代碼如下:
$old = array('jpg','png','gif','bmp');
$new = array('JPG','txt','docx','bmp');
$difference = array_diff($old, $new);
注:返回結果的元素包含$old的元素,不包括$new的元素
print_r($difference);
結果為:
Array
(
[0] => jpg
[1] => png
[2] => gif
)
也可以用函數先進行處理,再計算差集
array_diff() 函數返回兩個數組的差集數組。該數組包括了所有在被比較的數組中,但是不在任何其他參數數組中的鍵值,在返回的數組中,鍵名保持不變。
語法:array_diff(array1,array2,array3...)
代碼如下:
$difference = array_diff(array_map('strtolower',$old),
array_map('strtolower',$new));
數組轉換為字元串:
<?php
$arr = array('Hello','World!','I','love','Shanghai!');
echo implode(" ",$arr);
?>
字元串轉換為數組:
<?php
$str="1432532 ,4444";
$arr = explode(",",$str);
echo count($arr)."</br>";
print_r($arr);
?>
數組元素值去重
<?php
$a=array("a"=>"red","b"=>"green","c"=>"red");
print_r(
array_unique($a)
);
?>
針對有空格的字元串轉換成無空格的字元串
<?php
$str="1432532 ,67878";
$arr = explode(",",$str);
//echo count($arr)."</br>";
$str_u='';
for($i=0;$i<count($arr);$i++)
{
$str_u .=trim($arr[$i]).',';
}
echo $str_u;
?>
『貳』 ERP系統用什麼語言開發
ERP的英文全稱是【Enterprise Resource Planning】,直譯過來是【企業資源計劃】。
ERP最初的功能是把企業所有可用資源(資金,庫存,人力,供應商,客戶等等)集中到計算機資料庫中,通過合理的公司運作流程,最大程度的利用這些資源,為企業創造最大的價值。
但是隨著科技的高速發展,目前ERP更像是一個代詞,即【企業信息化綜合管理系統】。功能是把企業日常經營所涉及到的全部內容數據化並集中到計算機資料庫中,除了最大化利用企業資源外,同時利用計算的強大計算能力,結合不同功能模塊,消滅大部分重復勞動,極大提升全員工作效率,為企業節約運營成本。比如移動辦公功能讓員工在路上也能工作,自動報表功能秒殺枯燥的統計工作,自動單據功能秒殺辦公室大部分重復勞動等等。
開發語言選擇很多,完全根據自己的實際情況來選擇,Java,C++,VB,HTML等等都可以開發。因為開發這種軟體,編程主要是為了實現兩個功能,第一是訪問資料庫,第二就是處理數據,上面說的任何一種語言都完全能夠勝任這兩個功能。我曾經還用過Excel給兩個企業開發過管理系統。
對於管理系統來說,比開發編程更重要的是軟體功能設計,就像一座大樓,首先要設計好,才能安全好用,否則程序編得再好,做出來對企業來說也是一場災難。不但沒有提升效率和利用好資源,反而可能浪費企業大量的時間和金錢。
管理系統在發達國家普及度很高,大多數公司都有各類型的管理系統輔助公司運營管理。但是在中國,管理系統普及度很低,實施成功率也很低。第一是因為我國企業對管理系統了解很局限,它能做什麼?我們應該讓它做什麼?第二是因為我們屬於發展中國家,國家和企業都在高速發展,那麼管理系統也必須跟上節奏,不斷進化,否則就會拖後腿。
最佳的方式就是企業自己要有技術團隊來進行開發,在充分了解軟體的能力和企業的需求的基礎上設計開發出最適合企業的系統,同時保持系統的及時進步更新。
當然難題也來了,對於大型企業來說,養個技術團隊不但不是問題,而且絕對必要。但對於中小企業,尤其是小微企業來說,成本就太高了,只能找軟體外包公司來定製。不過外包定製費用也不低,而且每次升級開發都需要再花錢,像個無底洞。
我做EPR類企業管理系統十多年,幫不同的企業做過很多不同的管理系統,對行業也有很多看法,很希望我的經驗能夠幫到更多人和企業。如果你有興趣深入了解,我需要知道你的具體能力和需求,這樣才能更好的幫你。