本文整理汇总了PHP中ArrayHelper::depth方法的典型用法代码示例。如果您正苦于以下问题:PHP ArrayHelper::depth方法的具体用法?PHP ArrayHelper::depth怎么用?PHP ArrayHelper::depth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArrayHelper
的用法示例。
在下文中一共展示了ArrayHelper::depth方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: toMulti
/**
* @param array $data
* @param string $separator
* @return array|\stdClass
*/
public static function toMulti(array $data, $separator = '.')
{
$result = [];
$toSubAssoc = function ($data, $separator) {
$object = new \stdClass();
foreach ($data as $key => $val) {
$key = explode($separator, $key);
if (count($key) === 1) {
$object->{$key}[0] = $val;
} elseif (count($key) === 2) {
//$object->$key[0] = new \stdClass();
@($object->{$key}[0]->{$key}[1] = $val);
} elseif (count($key) === 3) {
@($object->{$key}[0]->{$key}[1]->{$key}[2] = $val);
} else {
$end_key = end($key);
unset($key[count($key) - 1]);
$buff = implode($separator, $key);
@($object->{$buff}->{$end_key} = $val);
}
}
return $object;
};
if (ArrayHelper::depth($data) === 0) {
$result = $toSubAssoc($data, $separator);
} else {
foreach ($data as $value) {
$result[] = $toSubAssoc($value, $separator);
}
}
return $result;
}