/** * แทนที่ข้อความด้วยข้อมูลจากแอเรย์ รองรับข้อมูลรูปแบบแอเรย์ย่อยๆ * * @param string $source ข้อความต้นฉบับ * @param array $replace ข้อความที่จะนำมาแทนที่ รูปแบบ array($key1 => $value1, $key2 => $value2) ข้อความใน $source ที่ตรงกับ $key จะถูกแทนที่ด้วย $value * @return string * * @assert ("SELECT * FROM table WHERE id=:id AND lang IN (:lang, '')", array(':id' => 1, array(':lang' => 'th'))) [==] "SELECT * FROM table WHERE id=1 AND lang IN (th, '')" */ public static function replace($source, $replace) { if (!empty($replace)) { $keys = array(); $values = array(); ArrayTool::extract($replace, $keys, $values); $source = str_replace($keys, $values, $source); } return $source; }