我有一个TXT格式的文件,想读到里面的二两个字段,一个ID,,,一个TEXT用来做一个下拉菜单。。$file = 'pandawill_categories.txt';
$content = file_get_contents($file);//获取txt字符$arraystate=json_decode($content, true);//格式化成数组var_dump($arraystate);运行上面代码后,出现一个三维数组,里面有我想要的数据ID和TEXT,。。怎么才能读出来,因为是三维。不好取,谁能帮忙解决一下。很急。。很急QQ463220877,有好心可以加我QQ帮解决!
$content = file_get_contents($file);//获取txt字符$arraystate=json_decode($content, true);//格式化成数组var_dump($arraystate);运行上面代码后,出现一个三维数组,里面有我想要的数据ID和TEXT,。。怎么才能读出来,因为是三维。不好取,谁能帮忙解决一下。很急。。很急QQ463220877,有好心可以加我QQ帮解决!
function foo($ar) {
foreach($ar as $r) {
echo $r['id'],$r['text'],'<br>';
if($r['children']) foo($r['children']);
}
}
<option value="392">PandaWill@Home</option>
<option value="393">PandaWill in US</option>
<option value="394">Apple Accessories</option>
<option value="395">Electronics</option>
<option value="462">Toys</option>
<option value="463">Car Model</option>
<option value="464">R/C Toys</option>
<option value="396">Others</option>
<option value="465">Bath</option>
<option value="467">Home & Garden</option>
<option value="466">Others</option>
<option value="397">PandaWill in UK</option>
<option value="398">Apple Accessories</option>
<option value="399">Home & Garden</option>
<option value="481">Bath</option>
<option value="400">Others</option>
<option value="401">PandaWill in AU</option>
<option value="402">Apple Accessories</option>
<option value="403">Home & Garden</option>
<option value="404">Others</option>
<option value="18">Apple Accessories</option>
<option value="248">Ipad Keyboard & Iphone Keyboard</option>
<option value="249">iPod Touch</option>
<option value="250">iPod Shuffle</option>
<option value="251">iPod Nano</option>
<option value="252">iPod Classic</option>
<option value="253">iPhone 4 Accessories</option>
<option value="254">IPhone Accessories </option>
<option value="255">iPad & iPad 2 Accessories</option>
<option value="15">Camera & Photo</option>
<option value="139">Digital Picture Frames</option>
<option value="39">Photo/Picture Frame Key Chain</option>
<option value="40">8.0 Inch Digital Picture Frame</option>
<option value="41">7.0 Inch Digital Picture Frame</option>
<option value="42">12.1 Inch Digital Picture Frame</option>
<option value="43">10.4 Inch Digital Picture Frame</option>
<option value="140">Digital Cameras</option>
<option value="142">Digital Camcorders</option>
<option value="416">Digital Camera Accessories</option>
<option value="417">Remote Controls</option>
<option value="418">LCD Hoods & Screen Protectors</option>
<option value="419">Camera Body Parts</option>
<option value="420">Bags, Cases & Straps</option>
<option value="421">Tripods</option>
<option value="422">Flashes</option>
<option value="423">UV, Haze, Protection</option>
<option value="424">Polarizing</option>
<option value="425">Lenses & Filters</option>
<option value="426">Others</option>
<option value="14">Car Electronics</option>
<option value="44">Vehicle Mount Camera</option>
<option value="45">Rear View Monitors & Parking Sensor System</option>
<option value="46">Overhead / Headrest DVD</option>
<option value="47">Car MP3 Player</option>
<option value="48">Car Lights</option>
<option value="49">Car Graphics Decals</option>
<option value="50">Car GPS</option>
<option value="51">Car DVD Player</option>
<option value="277">Especial Car DVD Player</option>
<option value="232">Volkswagen</option>
<option value="233">TOYOTA</option>
<option value="234">SUZUKI</option>
<option value="235">Renault</option>
<option value="236">Peugeot</option>
<option value="237">Nissan</option>
<option value="238">Mitsubishi</option>
<option value="239">MAZDA</option>
<option value="240">Hyundai</option>
<option value="241">HONDA</option>
<option value="242">Ford</option>
<option value="243">Citroen</option>
<option value="244">Chevrolet</option>
<option value="245">BUICK</option>
<option value="246">BMW</option>
<option value="247">AUDI</option>
<option value="278">Car DVD Player</option>
<option value="52">Car Bluetooth Accessories</option>
<option value="53">Car Accessories</option>
<option value="13">Clocks & Watches</option>
<option value="279">Watch Battery</option>
<option value="280">Watch Accessories</option>
<option value="281">Quartz Watch</option>
<option value="282">Mechanical Watch</option>
<option value="283">LED Watch</option>
<option value="284">LED Clock</option>
<option value="285">Digital Watch</option>
<option value="286">Digital Clocks</option>
<option value="287">Character & Gear Clock</option>
<option value="413">Pocket Watch</option>
<option value="12">Computer & Laptops</option>
<option value="17">Battery and Charger </option>
<option value="65">Laptop Battery</option>
<option value="165">Unwill&Fujitsu Laptop Battery</option>
<option value="166">Toshiba Laptop Battery</option>
<option value="167">Sony Laptop Battery</option>
<option value="168">Samsung Laptop Battery</option>
<option value="169">Packard Bell Laptop Battery</option>
<option value="170">NEC Laptop Battery</option>
<option value="171">Mitac Laptop Battery</option>
<option value="172">Lenovo Laptop Battery</option>
<option value="173">IBM Laptop Battery</option>
<option value="174">HP&COMPAQ Laptop Battery Catalog</option>
<option value="175">Gateway Laptop Battery</option>
<option value="176">Dell Laptop Battery</option>
<option value="177">Clevo Laptop Battery</option>
<option value="178">BENQ Laptop Battery</option>
<option value="179">ASUS Laptop Battery</option>
<option value="180">Apple Laptop Battery</option>
<option value="181">Acer Laptop Battery</option>
<option value="66">Digital Camera Battery</option>
<option value="75">Sony Digital Camera Battery</option>
<option value="76">Samsung Digital Camera Battery</option>
<option value="77">Ricoh Digital Camera Battery</option>
<option value="78">Pentax Digital Camera Battery</option>
<option value="79">Panasonic Digital Camera Battery</option>
<option value="80">Olympus Digital Camera Battery</option>
<option value="81">Nikon Digital Camera Battery</option>
<option value="82">Kodak Digital Camera Battery</option>
<option value="83">FUJIFILM Digital Camera Battery</option>
<option value="84">Casio Digital Camera Battery</option>
<option value="85">Canon Digital Camera Battery</option>
<option value="67">Camcorder battery</option>
<option value="68">Sony Camcorder Battery</option>
<option value="69">Sharp Camcorder Battery</option>
<option value="70">Samsung Camcorder Battery</option>
<option value="71">Panasonic Camcorder Battery</option>
<option value="72">JVC Camcorder Battery</option>
<option value="73">HITACHI Camcorder Battery</option>
<option value="74">Canon Camcorder Battery</option>
<option value="16">Cables & Adapters</option>
<option value="100">Webcam</option>
<option value="101">USB WIFI Adapter</option>
<option value="102">USB Hubs</option>
<option value="103">USB Fun Gadgets</option>
<option value="104">USB Flash Memory</option>
<option value="105">USB Card Reader</option>
<option value="106">USB Bluetooth Adapters</option>
<option value="107">Speaker & Microphone</option>
<option value="108">Skype phone</option>
<option value="109">Scanners</option>
<option value="410">Laptop/ Notebook</option>
<option value="411">Notebook/ Laptop PC</option>
<option value="110">Laptop Desk</option>
<option value="111">Laptop Cases & Bags</option>
<option value="112">Keyboards, Mice & Input</option>
<option value="113">Earphones & Earplugs</option>
<option value="198">SONY</option>
<option value="199">Sennheiser</option>
<option value="200">Other Brands Earphones</option>
<option value="201">Monster</option>
<option value="202">JVC</option>
<option value="203">GORSUN</option>
<option value="204">BOSE</option>
<option value="205">Bluetooth Earphone</option>
<option value="206">Audio-Technica</option>
<option value="207">AKG</option>
<option value="114">Cooler & Cooling Fan</option>
<option value="115">Convertors</option>
<option value="116">Computer Accessories</option>
<option value="117">Blank CD & DVD</option>
<option value="118">3G Wireless USB Modem</option>
<option value="11">Consumer Electronics</option>
$content = file_get_contents($file);//获取txt字符$arraystate=json_decode($content, true);//格式化成数组//三递归出来,把三维转换成二维数组,只取IT和TEXT;
function recursive_arr($arr)
{
$array = array();
foreach( $arr as $key => $value)
{
$children = array_pop($value);
$array[] = $value;
if(is_array($children)&&count($children)>0){
foreach( $children as $key => $value)
{
$children = array_pop($value);
$array[] = $value;
if(is_array($children)&&count($children)>0){
foreach( $children as $key => $value)
{
$children = array_pop($value);
$array[] = $value;
if(is_array($children)&&count($children)>0){
foreach( $children as $key => $value)
{
$array[] = $value;
}
}
}
}
}
}
}
return $array;
}
$arrlist = recursive_arr($arraystate);var_dump($arrlist);运行得到下面的数据,很太我弄一部分;;;array(477) {
[0]=>
array(3) {
["id"]=>
string(3) "392"
["text"]=>
string(14) "PandaWill@Home"
["checked"]=>
bool(false)
}
[1]=>
array(3) {
["id"]=>
string(3) "393"
["text"]=>
string(15) "PandaWill in US"
["checked"]=>
bool(false)
}
[2]=>
array(3) {
["id"]=>
string(3) "394"
["text"]=>
string(17) "Apple Accessories"
["checked"]=>
bool(false)
}
[3]=>
array(3) {
["id"]=>
string(3) "395"
["text"]=>
string(11) "Electronics"
["checked"]=>
bool(false)
}
[4]=>
array(3) {
["id"]=>
string(3) "462"
["text"]=>
string(4) "Toys"
["checked"]=>
bool(false)
}
[5]=>
array(4) {
["id"]=>
string(3) "463"
["text"]=>
string(9) "Car Model"
["checked"]=>
bool(false)
["children"]=>
array(0) {
}
}
[6]=>
array(4) {
["id"]=>
string(3) "464"
["text"]=>
string(8) "R/C Toys"
["checked"]=>
bool(false)
["children"]=>
array(0) {
}
}
[7]=>
array(4) {
["id"]=>
string(3) "396"
["text"]=>
string(6) "Others"
["checked"]=>
bool(false)
["children"]=>
array(0) {
}
}
[8]=>
array(3) {
["id"]=>
string(3) "465"
["text"]=>
string(4) "Bath"
["checked"]=>
bool(false)
}
[9]=>
array(3) {
["id"]=>
string(3) "467"
["text"]=>
string(13) "Home & Garden"
["checked"]=>
bool(false)
}
[10]=>
array(3) {
["id"]=>
string(3) "466"
["text"]=>
string(6) "Others"
["checked"]=>
bool(false)
}
[11]=>
array(3) {
["id"]=>
string(3) "397"
["text"]=>
string(15) "PandaWill in UK"
["checked"]=>
bool(false)
}
[12]=>
array(3) {
["id"]=>
string(3) "398"
["text"]=>
string(17) "Apple Accessories"
["checked"]=>
bool(false)
}
[13]=>
array(3) {
["id"]=>
string(3) "399"
["text"]=>
string(13) "Home & Garden"
["checked"]=>
bool(false)
}
[14]=>
array(3) {
["id"]=>
string(3) "481"
["text"]=>
string(4) "Bath"
["checked"]=>
bool(false)
}
[15]=>
array(3) {
["id"]=>
string(3) "400"
["text"]=>
string(6) "Others"
["checked"]=>
bool(false)
}
[16]=>
array(3) {
["id"]=>
string(3) "401"
["text"]=>
string(15) "PandaWill in AU"
["checked"]=>
bool(false)
}
[17]=>
array(3) {
["id"]=>
string(3) "402"
["text"]=>
string(17) "Apple Accessories"
["checked"]=>
bool(false)
}
[18]=>
array(3) {
["id"]=>
string(3) "403"
["text"]=>
string(13) "Home & Garden"
["checked"]=>
bool(false)
}
[19]=>
array(3) {
["id"]=>
string(3) "404"
["text"]=>
string(6) "Others"
["checked"]=>
bool(false)
}
[20]=>
array(3) {
["id"]=>
string(2) "18"
["text"]=>
string(17) "Apple Accessories"
["checked"]=>
bool(false)
}
[21]=>
array(3) {
["id"]=>
string(3) "248"
["text"]=>
string(31) "Ipad Keyboard & Iphone Keyboard"
["checked"]=>
bool(false)
}
[22]=>
array(3) {
["id"]=>
string(3) "249"
["text"]=>
string(10) "iPod Touch"
["checked"]=>
bool(false)
}
[23]=>
array(3) {
["id"]=>
string(3) "250"
["text"]=>
string(12) "iPod Shuffle"
["checked"]=>
bool(false)
}
[24]=>
array(3) {
["id"]=>
string(3) "251"
["text"]=>
string(9) "iPod Nano"
["checked"]=>
bool(false)
}
[25]=>
array(3) {
["id"]=>
string(3) "252"
["text"]=>
string(12) "iPod Classic"
["checked"]=>
bool(false)
}这里面有我想要的id和text,但有些text重复,我想去掉这些重复,根据TEXT去掉一些重复,重复的只留一个,和它对应的id,最后的结果,我想要有一个id,text,里面没有重复的text,
<?php
function compare($a,$b){
return strcasecmp($a['text'],$b['text']);
}
$arr = array(0=>array('id'=>1,'text'=>'aa'),
1=>array('id'=>1,'text'=>'cda'),
2=>array('id'=>1,'text'=>'aa'),
3=>array('id'=>1,'text'=>'dde'),
4=>array('id'=>1,'text'=>'efs'),
5=>array('id'=>1,'text'=>'aa'),
6=>array('id'=>1,'text'=>'aaaaef'));
uasort($arr,'compare');
$arr = array_slice($arr,0);for($i=0;$i<count($arr);){
for($j=$i+1;$j<count($arr);$j++){
if($arr[$i]['text'] == $arr[$j]['text']){
unset($arr[$j]);
}else{
$i = $j;
break 2;
}
}
}
echo "<pre>";
print_r($arr);
echo "</pre>";
(
[0] => Array
(
[id] => 1
[text] => aa
) [3] => Array
(
[id] => 1
[text] => aaaaef
) [4] => Array
(
[id] => 1
[text] => cda
) [5] => Array
(
[id] => 1
[text] => dde
) [6] => Array
(
[id] => 1
[text] => efs
))