PHP で書かれた最初のプログラムに取り組んでいます。これは基本的な質問です。配列に格納されている文字列を出力しようとしています。私は2つの配列を持っています。1 つの配列 $content には数値が格納$content[$i][15]
されます (配列内で配列を使用し、for ループでループ処理しています)。この数値が 3 だとしましょう。ここで、$type という別の配列の文字列にアクセスしたいと考えています。この文字列の位置は$type[3]
です。$type[3]
論理的には、 と同じものを出力するべきだと思います$type[$content[$i][15]]
。しかし、私が呼び出すと$type[$content[$i][15]]
、何も印刷されませんが、印刷$type[3]
すると正常に動作します。このタイプの呼び出しは PHP で許可されていませんか?
$type = array();
$typetemp = readfile("type.csv");
foreach ($typetemp as $sa){
$type[$sa[0]] = $sa[1];
}
$content = readfile("content.csv");
for($i=0; $i<sizeof($content); $i++){
if($content[$i][15] == 3){
if($content[$i][4] == 1){
$temp = $content[$i][15];
echo "id is " . $content[$i][0] . "title is " . $content[$i][1] . "introtext is " . $content[$i][2] . "restoftext is " . $content[$i][3] . "visible is " . $content[$i][4] . "category is " . $content[$i][5] . "creation_date is " . $content[$i][6] . "author is " . $content[$i][7] . "img is " . $content[$i][8] . "ordering is " . $content[$i][9] . "rank is " . $content[$i][10] . "vid is " . $content[$i][11] . "start_date is " . $content[$i][12] . "stop_date is " . $content[$i][13] . "event_date is " . $content[$i][14] . "type is " . $content[$i][15] . "thumb is " . $content[$i][16] . "type name is " . $type[$temp] . "<br/>";
}
}
}
function readfile($filename) {
$line_of_text = array();
$file_handle = fopen($filename, "r");
while (!feof($file_handle) ) {
array_push($line_of_text, fgetcsv($file_handle, 1024));
}
fclose($file_handle);
return $line_of_text;
}