2017-04-11 19 views
-1

以下の配列では、配列にキー[year]が存在するかどうかをチェックしたいと思います。あなたが見ることができるように、配列1と2には[year]がありません。配列内にあるかどうかを確認するには[year]かどうか基本的にそれが存在する場合は、別のものを実行して別のものを実行してください。 ==============================多次元配列にキーが存在するかどうかをチェック

isset($custom_array[0]['year']); 

Array 
     (
      [0] => Array 
       (
        [filmId] => 61359 
        [url] => http://www.moviemeter.nl/film/61359 
        [title] => Unstoppable 
        [alternative_title] => 
        [year] => 2011 
        [thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/61000/61359.jpg 
        [average] => 0 
        [votes_count] => 0 
        [similarity] => 100.00 
        [directors_text] => geregisseerd door Richard Harrison 
        [actors_text] => met Chen Shilony, Ruben Crow en David Powell 
        [genres_text] => Drama/Komedie 
        [duration] => 90 
       ) 
      [1] => Array 
       (
        [filmId] => 87923 
        [url] => http://www.moviemeter.nl/film/87923 
        [title] => Unstoppable 
        [alternative_title] => 

        [thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/87000/87923.jpg 
        [average] => 0 
        [votes_count] => 0 
        [similarity] => 100.00 
        [directors_text] => geregisseerd door Example Director 
        [actors_text] => met Actor 1, Actor 2 en Actor 3 
        [genres_text] => Drama/Komedie 
        [duration] => 90 
       ) 
      [2] => Array 
       (
        [filmId] => 68593 
        [url] => http://www.moviemeter.nl/film/68593 
        [title] => Unstoppable 
        [alternative_title] => 

        [thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/68000/68593.jpg 
        [average] => 3.3 
        [votes_count] => 191 
        [similarity] => 100.00 
        [directors_text] => geregisseerd door Tony Scott 
        [actors_text] => met Denzel Washington, Chris Pine en Rosario Dawson 
        [genres_text] => Actie/Thriller 
        [duration] => 98 
       ) 
      [3] => Array 
       (
        [filmId] => 17931 
        [url] => http://www.moviemeter.nl/film/17931 
        [title] => Unstoppable 
        [alternative_title] => Nine Lives 
        [year] => 2004 
        [thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/17000/17931.jpg 
        [average] => 2.64 
        [votes_count] => 237 
        [similarity] => 100.00 
        [directors_text] => geregisseerd door David Carson 
        [actors_text] => met Wesley Snipes, Jacqueline Obradors en Mark Sheppard 
        [genres_text] => Actie/Thriller 
        [duration] => 96 
       ) 
     ) 
+0

[array_key_exists()](http://ca3.php.net/manual/en/function.array-key-exists.php) – Augwa

答えて

1

試み、それが非空の配列になるならば、yearがあります配列のどこかで:

if(array_column($array, 'year')) { 
    //yes year exists :-) 
} else { 
    //no doesn't exist :-(
} 

あなたは、アレイ内の各列をチェックして、それぞれに対して何かをする、そしてちょうどループとyearをチェックしたい場合:

foreach($array as $values) { 
    if(isset($values['year'])) { 
     //do something with $values 
    } else { 
     //do something else 
    } 
} 
0

あなたはisset()機能を使用することができますyear列を抽出する======================

for($i = 0; $i < count($custom_array); $i++){ 
    if(isset($custom_array[$i]['year'])){ 
     echo "Position [" . $i . "]-[year] exist."; 
    } else { 
     echo "Position [" . $i . "]-[year] not exist."; 
    } 
} 
0

このコードでは、あなたが自分で配列のオフセットを得ることができますに値:

<?php 

$my_array = array( 
     0 => array( 
      "filmId" => "61359", 
      "year" => "2011" 
     ), 
     1 => array( 
      "filmId" => "87923", 
     ), 
     2 => array( 
      "filmId" => "68593", 
      "year" => "2011" 
     ) 
); 
$column_name = 'year'; 
print_r(array_map(function($element) use($column_name){return isset($element[$column_name]) ? $element[$column_name] : "";}, $my_array)); 

出力

Array 
(
    [0] => 2011 
    [1] => 
    [2] => 2011 
) 

その後、どの列に年の列がないかチェックします。

関連する問題