LoginSignup
0
0

More than 5 years have passed since last update.

テンプレートエンジンSimplate 配列と連想配列のアクセスの違い

Posted at

Simplateを使っていて配列の要素にアクセスできず少しハマりました。

PHPの配列のアクセス

配列の要素へのアクセスには、配列でも連想配列でもarray[key] 構文を使います。

Php.php
//配列
$array = [];
//連想配列
$associative_array = [];
for ($i = 0; $i < 10; $i++) {
    $array[] = $i * 1000;
    $associative_array[$i] = $i * 1000;
}

// どちらもアクセスできます
var_dump($array[0]);
var_dump($associative_array[0]);

Simplateの配列と連想配列のアクセス

Simplateでは、配列と連想配列で要素のアクセスの仕方に違いがあります。

配列のアクセス

配列に対しての要素のアクセス

array.tpl
<{* どちらもアクセスできます。 *}>
<{$array[1]}>
<{$array.1}>

連想配列のアクセス

連想配列に対し要素のアクセス

associative_array.tpl
<{* こちらはアクセスできません。勝手にできると思い込んでいて嵌まった。*}>
<{$associative_array[1]}>
<{* こちらはアクセスできます。 *}>
<{$associative_array.1}>

まとめ

  • Simplateでは、連想配列の要素へのアクセスの方法が、PHPと違うので注意が必要。
  • Simplateの連想配列の要素へのアクセスは$associative_array.keyのようにする。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0