2012-02-19 5 views
0

配列:3,8,10,15PHP配列値Iは、データベース内の文字列を有するキー

を、スクリプトでiは配列を有する:$a=array(0=>'music',1=>'computers'....etc)、キーはデータベース内の文字列に一致しているが。

その後、私は、データベースから文字列をexplode():スクリプトで

$a = 
Array 
(
    [0] => 3 
    [1] => 8 
    [2] => 10 
    [3] => 15 
) 

<?PHP 
$b=array(0=>'music',1=>'Computers','...etc'); 
    $a = explode(",",$a); 
    foreach ($b as $key => $value){ 

    $select = $a==$key ? " checked='checked'" : null; 

    echo "<label><input type='checkbox' name='name' value='{$key}'$select/> {$value}; 
    }} 
?> 

このofcourseのは、そのマッチング$ bのため、動作しません。これは、このような配列が作る$a=explode(",",$dbresult) 配列キーと$ aの値ではありません

私の質問は..どのように$ bキーに一致させることができますか? $ a値を得る?

+0

私は '$のA'と' $のB'に関係を理解し​​ていませんよ。 '$ a [0](3)'が '$ b [0](music)'に関連するように、それらの間でキーが整列していますか? –

+0

'$ a [0](3)'が '$ b [3]( 'someotherthing'')に関連する' $ a'の値は '$ b'のキーに関連していますか? –

+0

はい、$ aは$ bのキーです。 – teecee

答えて

1

あなたはin_arrayを探しています:

<?php 
$b = array(0=>'music',1=>'Computers','...etc'); 
$a = explode(",", '0,3'); 
foreach ($b as $key => $value) { 
    $select = in_array($key, $a) ? " checked='checked'" : null; 

    echo '<input type="checkbox" name="name" value="' . $key . '"' . $select . '/>'; 
    echo $value; 
} 
+0

あまりにもPhihagありがとう! :) – teecee

関連する問題