こんにちは私は、 "category"という名前のファイルに値 "a"を渡すコマンドを実行しているという問題があります。引数がarray_searchに正しく渡されない
私は自分のPHPファイルを実行して、 "category"の内容を$datatype
という変数に設定したいと考えています。変数をエコーすると、 "a"が出力されるので、これは成功です。しかし、私はこの値を配列で検索し、対応する値 "1"を返したいと思います。私が実際に$datatype
を設定しない限り、それは機能しません$dataype = "2";
私は間違って何を考えている?
<?
//PUT VALUE "a" INTO A FILE CALLED category
echo shell_exec("cat ".$filename." | cut -f2 | head -1 > category");
$datatype = file_get_contents("category");
echo file_get_contents("category"); // PRINTS "a"
echo $datatype; //PRINTS "a"
$array = array(
"1"=>"a",
"2"=>"b",
"3"=>"c",
"4"=>"d",
);
$key = array_search($datatype, $array);
echo $key; // DOESN'T PRINT ANYTHING!!!! I EXPECT "1" TO BE PRINTED
//IF I CHANGE TO BELOW IT WORKS...."1" IS PRINTED
$datatype = "a";
?>
:
file_get_contents("category", NULL, NULL, 0, 1);
または何yardpenalty提案:
array_search($datatype[0], $array)
これらの作業の両方を。しかし、私の実際の問題は、単一の文字だけでなく、さまざまな長さの単語を呼び起こします。これは、単語の後のスペースに問題がなければならないことを私に伝えますか?私はそれが理にかなってほしいのですか
'echo $ 'datatype';' 'を試して、' new line'などの隠し文字を探してください。 '" a "!=" a \ n "' – Xorifelse
あなたはfile_get_contents( "category"、NULL、NULL、0、1)を試しましたか?最初の文字を文字列として返すだけですか? – yardpenalty
または 'array_search($ datatype [0]、$ array)'を実行して '$ datatype'文字列の最初の文字と一致させてください – Xorifelse