PHP 删除 数组 指定成员
1. unset删除某一个 特定成员
$arr[0] = 0; $arr[1] = 1; $arr[2] = 2; unset($arr[1]); var_dump($arr); array(2) { [0]=> int(0) [2]=> int(2) }
问题1:
此PHP 用于对关键词去包含词。 当使用unset($arr2[$j]) 会出现莫名其妙的问题。 换方法$arr2[$j]=''; 就好了。释放的资源,就不要再使用了,否则会莫名其妙的问题。
1<?php 2 Header("Content-Type:text/html;charset=utf-8"); 3 set_time_limit(0); 4 5 function wan_str_replace($arr){ 6 7 $order = array("\r\n", "\n", "\r"); 8 return str_replace($order, '', $arr); 9 } 10 11 $arr1 = file('1.txt'); 12 $arr1_count = count($arr1); 13 $arr2 = $arr1; 14 15 for($i=0; $i<$arr1_count; $i++){ 16 17 for($j=0; $j<$arr1_count; $j++){ 18 19 if($arr1[$i] == $arr2[$j]){continue;} 20 if(stristr( wan_str_replace($arr2[$j]), wan_str_replace($arr1[$i]) ) ){ 21 22 echo $arr2[$j].'<br />'; 23 $arr2[$j]=''; 24 } 25 } 26 } 27 28 $handle2 = fopen('2.txt', 'w'); 29 for($i=0; $i<count($arr2); $i++){ 30 fwrite($handle2, $arr2[$i]); 31 } 32 33 fclose($handle2); 34 35 1.txt 36 连衣裙 37 雪纺衫 38 雪纺连衣裙夏2013 39 女装连衣裙 40 2013夏雪纺连衣裙 41 女凉鞋 42 手机 43 女包 44 品牌服饰连衣裙 45 品牌服饰 46 防晒衣 47 女t恤 48 女雪纺衫 49 品牌服饰雪纺连衣裙 50 女连衣裙 51 泳衣 52 蕾丝衫雪纺衫 53 短裤 54 女鞋凉鞋 55 女装雪纺衫 56 凉鞋haha 57 凉鞋 58 雪纺连衣裙 59 文胸 60 男t恤 61 凉鞋女 62 品牌服饰长裙连衣裙 63 短袖女t恤 64 大码女装 65 连体裤 66 连衣裙品牌服饰 67 t恤 68 情侣装 69 平板电脑 70 女装真丝连衣裙 71 t恤女短袖 72 女衬衫 73 男鞋 74 真丝连衣裙 75 摩托车 76 品牌服饰大码连衣裙 77 78 输出: 79 雪纺连衣裙夏2013 80 女装连衣裙 81 2013夏雪纺连衣裙 82 品牌服饰连衣裙 83 品牌服饰雪纺连衣裙 84 女连衣裙 85 雪纺连衣裙 86 品牌服饰长裙连衣裙 87 连衣裙品牌服饰 88 女装真丝连衣裙 89 真丝连衣裙 90 品牌服饰大码连衣裙 91 女雪纺衫 92 蕾丝衫雪纺衫 93 女装雪纺衫 94 短袖女t恤 95 女凉鞋 96 女鞋凉鞋 97 凉鞋haha 98 凉鞋女 99 女t恤 100 男t恤 101 t恤女短袖 102 103 2.txt 104 连衣裙 105 雪纺衫 106 手机 107 女包 108 品牌服饰 109 防晒衣 110 泳衣 111 短裤 112 凉鞋 113 文胸 114 大码女装 115 连体裤 116 t恤 117 情侣装 118 平板电脑 119 女衬衫 120 男鞋 121 摩托车
我艹,4W条数据,处理了2小时,还在处理。看来这个算法弱爆了...放弃此算法