2016-12-23 7 views
1

配列から特定の長さの値を削除しようとしばらくしています。 組み込み関数を使用して空白とemtpy配列を削除しましたが、30文字未満の配列から項目を削除したい場合もあります。特定の長さの項目をPHPの配列から削除するには

私のコードは次のとおりです。

$data = array(); 
$cells = $dom->getElementsByTagName('td'); 
foreach($cells as $node) { 
    foreach($node->childNodes as $child) { 
     $data[] = array($child->nodeName => $child->nodeValue); 
     $data = array_map('array_filter', $data); 
     $data = array_filter($data); 
    } 
} 
+0

'strlen();'関数は、文字列の文字カウントを返します。あなたはそれを使うことができます。 – masterFly

答えて

1

私はこのような何かにあなたの関数を変更します:あなたがあなたの元のメソッドと同様にunset()使用することができ、配列の開始から削除したい場合は

foreach($cells as $node){ 
    foreach($node->childNodes as $child) { 
     // check the length is greater than or equal to 30 
     if(strlen($child->nodeValue) >= 30){ 

      $data[ $child->nodeName ] = $child->nodeValue; 

      $data[ $child->nodeName ] = array_map('array_filter', $aTempData); 
      $data[ $child->nodeName ] = array_filter($aTempData); 

     } 
    } 
} 

+0

ありがとうございます –

+0

ようこそ。あなたがそれを渡さない場合、getElementsByTagNameがtdsにエラーを返さないことを確認する必要があります。 – atoms

+1

if if(!title){die(); } else {//配列検索} –

関連する問題