Есть некоторый массив, содержащий объекты определенного класса $array
. Вопрос, как закодировать этот массив в json формат, если json_encode($array)
не работает (получается {[]}
в результате)?
Для того, чтобы класс сериализировался в Json он должен реализовывать интерфейс JsonSerializable.
Если в Вашем массиве хранятся объекты определенного класса, думаю не составит труда реализовать этот интерфейс.
class Arr implements JsonSerializable {
public function jsonSerialize(){
return [
'a' => 'b'
];
}
}
$arr = [];
$arr[] = new Arr();
$arr[] = new Arr();
$arr[] = new Arr();
$arr[] = new Arr();
print_r(json_encode($arr));
На выходе мы получим:
[{"a":"b"},{"a":"b"},{"a":"b"},{"a":"b"}]
При вызове функции file_put_contents() в файле появляются кракозябры вида \u041a\u0438\u0440\ на месте русских буквНасколько понял, дело в кодировке
Есть массив элементов, и необходимо вычислить все возможные варианты упорядочения массива
Недавно решил установить YouCompleteMe и обнаружил, что, несмотря на то, что все прекрастно работает сcpp файлами, тем не менее автодополнение не работает...
name не является членом std::vector<man,std::allocator<_Ty>>Вроде решения находил, но в моем случае не спасло