2016-04-16 2 views
1

パイプ記号の文字列があります。私は各配管された値が$ attrib配列に含まれていることを確認する必要があります配列内の各分離文字列の可用性をチェックする方法は?

したがって、各値が存在する場合、成功またはエラーを表示します。

PHP

<?php 

    $fields = "NAME|PHONE|EMAIL"; 
    $get_each_val = expolde('|',$fields) 

    $attribs = array 
    ( 
     "NAME"  => "Jony", 
     "EMAIL" => "[email protected]", 
     "LOCATION" => "Xyz", 
     "ADDRESS" => "23 Street",    
     "MESSAGE" => "Hi there!" 
    ); 

    //need to check 

    if $get_each_val // exploded from $fields 

    contain in 

    array_keys($attribs) 

    if 
     //$get_each_val is present in $attribs 

     echo $get_each_val.' - success<br/>'; 
    else 
     echo $get_each_val.' - error <br/>'; 

?> 

OUTPUT LIKE:

 NAME - success 

     PHONE - error 

     EMAIL - success 
+0

'array_keys($ attribs)'の後にあなたの質問が不明です。 –

+0

更新された@ anant – Khalid

+0

あなたの予期された結果を精緻化してください。各値を| from $ fields = "NAME | PHONE | EMAIL";各値が$ attribsrayに存在するかどうか – Khalid

答えて

1

使用作り付けの関数array_key_exists()関数をキーが存在するか、またはn ot。

<?php 
    $fields = "NAME|PHONE|EMAIL"; 
    $get_each_val = explode('|',$fields); 

$attribs = array (
    "NAME"=> "Jony", 
    "EMAIL"=> "[email protected]", 
    "LOCATION"=> "Xyz", 
    "ADDRESS"=> "23 Street", 
    "MESSAGE"=> "Hi there!" 
); 
foreach ($get_each_val as $value) { 
    if(array_key_exists($value, $attribs)){ 
     echo $value.'- success<br/>'; 
    }else{ 
     echo $value.'- error<br/>'; 
    } 
} 
?> 
0

あなたは以下のコードを使用することができますかどうかを確認するために

<?php 
    $fields = "NAME|PHONE|EMAIL"; 
    $get_each_val = explode('|',$fields); 

    $attribs = array 
(
    "NAME"=> "Jony", 
    "EMAIL"=> "[email protected]", 
    "LOCATION"=> "Xyz", 
    "ADDRESS"=> "23 Street", 
    "MESSAGE"=> "Hi there!" 
); 
    foreach ($get_each_val as $value) { 

if(isset($attribs[$value])) 
{ 
     echo $value.' - success<br/>'; 
    } 
    else 
    { 
    echo $value.' - error <br/>'; 
    } 
} 
?> 
+0

正常に機能しているanoop – Khalid

+0

これは$ attribs配列内のNULL値に対しては機能しません。 –

関連する問題