PDA

View Full Version : array_merge برای آرایه های چند بعدی



n0o0b_sina
سه شنبه 21 بهمن 1393, 03:20 صبح
سلام
دوستان راهی برای استفاده از array_merge توی آرایه های چند بعدی هست؟
برای خلاصه کردن کد زیر:


$defaults = array(
'login' => true,
'medias' => false,
'comments' => false,
'posts' => array(
'insert' => true,
'update' => true,
'delete' => true,
'permission' => 'self' // "all" for all posts "self" for only user sended posts
),
'taxonomies' => array(
'insert' => true,
'update' => true,
'delete' => true,
'permission' => 'self' // "all" for all taxonomies "self" for only taxonomies sended taxonomies
),
'views' => false,
'settings' => false,
'users' => array(
'insert' => false,
'update' => false,
'delete' => false
),
);

if (isset($permissions['posts']) and is_array($permissions['posts']))
$permissions['posts'] = array_merge($defaults['posts'], $permissions['posts']);
else
$permissions['posts'] = $defaults['posts'];

if (isset($permissions['taxonomies']) and is_array($permissions['taxonomies']))
$permissions['taxonomies'] = array_merge($defaults['taxonomies'], $permissions['taxonomies']);
else
$permissions['taxonomies'] = $defaults['taxonomies'];

if (isset($permissions['users']) and is_array($permissions['users']))
$permissions['users'] = array_merge($defaults['users'], $permissions['users']);
else
$permissions['users'] = $defaults['users'];

$permissions = array_merge($defaults, $permissions);


من واسه آرایه هایی که دارای فرزند آرایه هستند توی کده بالا دوباره از array_merge استفاده کردم، راهی نیست که یه بار استفاده کنیم؟
ممنون

n0o0b_sina
سه شنبه 21 بهمن 1393, 13:55 عصر
دوستان راه حلی به نظرتون نرسید؟

MMSHFE
سه شنبه 21 بهمن 1393, 14:31 عصر
http://php.net/manual/en/function.array-merge-recursive.php

n0o0b_sina
سه شنبه 21 بهمن 1393, 14:46 عصر
http://php.net/manual/en/function.array-merge-recursive.php
ممنون ولی من از آرایه به عنوان arguments برای توابع استفاده کردم array_merge_recursive آرایه هایی که استفاده شده رو جایگزین آرایه ی پیشفرض نمیکنه.
طبق مثاله خوده سایت php.net (http://php.net/manual/en/function.array-merge-recursive.php#example-5123)