gravatar のようなavartacoを実装しようとしていました。
PHPバージョン<5.3で動作させるために
PHP 5.3.0 未満で動作させたい場合は、string を検索します。
array_walk($shape, function(&$coord, $index, $mult) { $coord *= $mult; }, self::SPRITE_SIZE);
ラムダ関数の代わりに create_function() を使用するように書き直します。
同じ行 array_walk.My php version is 5.2.17 <5.3 でエラーが発生Parse error: syntax error, unexpected T_FUNCTION
していましたが、createfunction による書き換えの意味がわかりません。
PHPバージョン<5.3で動作させるには、その行で何を変更する必要がありますか
プライベート関数 GetShape($type) {
switch($type) {
case 'side':
$shape_id = hexdec(substr($this->_hash, 22, 1)) & (sizeof($this->_shapesSide) - 1);
$shapes = $this->_shapesSide;
break;
case 'center':
$shape_id = hexdec(substr($this->_hash, 23, 1)) & (sizeof($this->_shapesCenter) - 1);
$shapes = $this->_shapesCenter;
break;
case 'corner':
$shape_id = hexdec(substr($this->_hash, 24, 1)) & (sizeof($this->_shapesCorner) - 1);
$shapes = $this->_shapesCorner;
default:
break;
}
$shape = $shapes[$shape_id];
array_walk($shape, function(&$coord, $index, $mult) { $coord *= $mult; }, self::SPRITE_SIZE);
return $shape;
}