0
嗨我有一個問題,我正在運行一個命令,使用將值「a」傳遞給名爲「category」的文件的終端。不能正確傳遞給array_search的參數
然後我運行我的php文件,然後希望將「category」的內容設置爲一個名爲$datatype
的變量。這是成功的,因爲當我回顯變量時,我會打印出「a」。但是,我想然後在數組中查找此值並返回相應的值「1」。它不工作,除非我直接調用$dataype = "2";
直接設置$datatype
任何想法我做錯了什麼?
<?
//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";
?>
使用什麼Xorifelse建議:
file_get_contents("category", NULL, NULL, 0, 1);
或者有什麼建議yardpenalty:
array_search($datatype[0], $array)
這些都工作。然而,我的實際問題涉及不同長度的單詞,而不僅僅是單個字符。這告訴我這個詞後面的空格肯定是個問題嗎?我希望這是有道理的?
嘗試'回聲「‘$的數據類型’」;'和尋找隱藏的字符,比如'新line'等因'「a」!=「a \ n」' – Xorifelse
你試過file_get_contents(「category」,NULL,NULL,0,1);所以它只返回第一個字符作爲字符串? – yardpenalty
或者通過'array_search($ datatype [0],$ array)匹配字符串'$ datatype'中的第一個字符'' – Xorifelse