本文整理汇总了PHP中Writer::writeArray方法的典型用法代码示例。如果您正苦于以下问题:PHP Writer::writeArray方法的具体用法?PHP Writer::writeArray怎么用?PHP Writer::writeArray使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Writer
的用法示例。
在下文中一共展示了Writer::writeArray方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: encode
private function encode($name, array $args, stdClass $context)
{
$stream = new BytesIO(Tags::TagCall);
$writer = new Writer($stream, $context->simple);
$writer->writeString($name);
if (count($args) > 0 || $context->byref) {
$writer->reset();
$writer->writeArray($args);
if ($context->byref) {
$writer->writeBoolean(true);
}
}
$stream->write(Tags::TagEnd);
$request = $stream->toString();
$stream->close();
return $request;
}
示例2: doOutput
private function doOutput($name, &$args, $byref, $simple, $context)
{
if ($simple === null) {
$simple = $this->simple;
}
$stream = new BytesIO(Tags::TagCall);
$writer = new Writer($stream, $simple);
$writer->writeString($name);
if (count($args) > 0 || $byref) {
$writer->reset();
$writer->writeArray($args);
if ($byref) {
$writer->writeBoolean(true);
}
}
$stream->write(Tags::TagEnd);
$request = $stream->toString();
$count = count($this->filters);
for ($i = 0; $i < $count; $i++) {
$request = $this->filters[$i]->outputFilter($request, $context);
}
$stream->close();
return $request;
}
示例3: writeTable
/**
* Write PHP array, as table. Input array format: keys are strings,
* values are (type,value) tuples.
*
* @param $d
*
* @return Writer
*/
public function writeTable($d)
{
$this->flushBits();
$table_data = new Writer();
foreach ($d as $k => $va) {
list($ftype, $v) = $va;
$table_data->writeShortStr($k);
if ($ftype == 'S') {
$table_data->write('S');
$table_data->writeLongStr($v);
} else {
if ($ftype == 'I') {
$table_data->write('I');
$table_data->_writeSignedLong($v);
} else {
if ($ftype == 'D') {
// 'D' type values are passed Decimal instances.
$table_data->write('D');
$table_data->writeOctet($v->e);
$table_data->_writeSignedLong($v->n);
} else {
if ($ftype == 'T') {
$table_data->write('T');
$table_data->writeTimestamp($v);
} else {
if ($ftype == 'F') {
$table_data->write('F');
$table_data->writeTable($v);
} else {
if ($ftype = 'A') {
$table_data->write('A');
$table_data->writeArray($v);
}
}
}
}
}
}
}
$table_data = $table_data->getvalue();
$this->writeLong(strlen($table_data));
$this->write($table_data);
return $this;
}
示例4: doFunctionList
protected function doFunctionList($context)
{
$stream = new BytesIO();
$writer = new Writer($stream, true);
$stream->write(Tags::TagFunctions);
$writer->writeArray($this->names);
$stream->write(Tags::TagEnd);
$data = $stream->toString();
$stream->close();
return $this->outputFilter($data, $context);
}