請寫一段PHP代碼,確保多個(gè)進(jìn)程同時(shí)寫入同一個(gè)文件成功
請寫一段PHP代碼,確保多個(gè)進(jìn)程同時(shí)寫入同一個(gè)文件成功
function writeData($path, $mode,$data,$max_retries = 10){$fp = fopen($path, $mode);$retries = 0;do{if ($retries > 0){usleep(rand(1, 10000));}echo '等待時(shí)間:'.$retries;$retries += 1;}while (!flock($fp, LOCK_EX) and $retries<= $max_retries);//判斷是否等于最大重試次數(shù),是則返回falseif ($retries == $max_retries){return false;}fwrite($fp, "$data");flock($fp, LOCK_UN);fclose($fp);return true;}
2.array_merge 和 array+array 區(qū)別
(1)第一個(gè)數(shù)組鍵包含在第二個(gè)數(shù)組中
$arr1=array('name'=>'lxw','age'=>12,'sex'=>1);$arr2=array('name'=>'king','age'=>22,'sex'=>2,'tel'=>'123456');$arr3=array('1'=>'lxw','2'=>12,'3'=>1);$arr4=array('1'=>'king','2'=>22,'3'=>2,'4'=>'123456');echo '<pre>';echo '關(guān)聯(lián)數(shù)組 - merger: <br>';print_r(array_merge($arr1,$arr2));echo '<pre>';echo '<pre>';echo '關(guān)聯(lián)數(shù)組 - 加號: <br>';print_r($arr1+$arr2);echo '<pre><hr>';echo '<pre>';echo '索引數(shù)組 - merger: <br>';print_r(array_merge($arr3,$arr4));echo '<pre>';echo '<pre>';echo '索引數(shù)組 - 加號: <br>';print_r($arr3+$arr4);echo '<pre>';

(2)第一個(gè)數(shù)組存在第二個(gè)數(shù)組中不存在的鍵
$arr1=array('name'=>'lxw','age'=>12,'sex'=>1,'address'=>'bj'); //新增address$arr2=array('name'=>'king','age'=>22,'sex'=>2,'tel'=>'123456');$arr3=array('1'=>'lxw','2'=>12,'3'=>1,'4'=>'bj');//新增4鍵名$arr4=array('1'=>'king','2'=>22,'3'=>2,'4'=>'123456');echo '<pre>';echo '關(guān)聯(lián)數(shù)組 - merger: <br>';print_r(array_merge($arr1,$arr2));echo '<pre>';echo '<pre>';echo '關(guān)聯(lián)數(shù)組 - 加號: <br>';print_r($arr1+$arr2);echo '<pre><hr>';echo '<pre>';echo '索引數(shù)組 - merger: <br>';print_r(array_merge($arr3,$arr4));echo '<pre>';echo '<pre>';echo '索引數(shù)組 - 加號: <br>';print_r($arr3+$arr4);echo '<pre>';

求一鍵三連:點(diǎn)贊、轉(zhuǎn)發(fā)、在看。
評論
圖片
表情
