Если вы вызываете метод внутри объекта, вы должны передать в массиве, первым элементом будет объект / контекст, а затем вторым должен быть метод:
Маленький пример
function callback()
{
//blah
}
вышесказанное называется функцией и должно вызываться так: array_walk($array, 'callback');
class object()
{
public function callback()
{
}
}
вышеупомянутый обратный вызов называется методом, он практически такой же, как и функция, но поскольку он находится внутри класса, он имеет родительский контекст, поэтому его следует называть так:
$object = new object();
array_walk($array, array($object , 'callback'));
MySQLi является объектно-ориентированной библиотекой, поэтому после инициализации объекта mysqli вы должны вызвать «метод» следующим образом:
array_walk($array, array($msqli, 'real_escape_string'));
Также, как упоминалось выше, array_walk
будет вводить ключ и значение в объект mysql, который приведет к точному экранированию, вы должны использовать array_map
для обхода только значений:
array_map($array, array($msqli, 'real_escape_string'));