[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка значения массива по ключу
Shkiper
Всем привет. Есть массив
$scripts_array = array(

'page_all' => '<script type="text/javascript" src="/system/skins/js/onready.js"></script>',
'page_all' => '<script type="text/javascript" src="/system/skins/js/poll.js"></script>',


'news' => '<link rel="stylesheet" type="text/css" href="/system/library/bbcode/styles/style.css" />
<link rel="stylesheet" type="text/css" href="/system/library/bbcode/styles/modalbox.css" />
<script type="text/javascript" src="/system/library/bbcode/js/modalbox.js"></script>
<script type="text/javascript" src="/system/library/bbcode/js/bb.js"></script>
<script type="text/javascript" src="/system/skins/js/comment.js"></script>'
,

'user_area' => '<script type="text/javascript" src="/system/skins/js/member_area.js"></script>',

);


И функция:
function scripts ($page_name)
{

global $scripts_array;
$scripts_complate = '';

if(!isset($page_name))
{

foreach($scripts_array as $k=>$v)
{

if($k == 'page_all')
{

$scripts_complate .=
$v;

}

}


}

else
{

foreach($scripts_array as $k=>$v)
{

if($k == 'page_all' or $k == $page_name)
{

$scripts_complate .=
$v;

}

}

}


return $scripts_complate;

}


Например я вызываю скрипт:

echo scripts($page_name=false);


И мне по идее должно подключить 2 JS файла 1 и 2. Но мне подключает только 2 почему???



Спустя 4 минуты, 36 секунд (17.08.2012 - 10:17) Игорь_Vasinsky написал(а):
1. можно сразу указать значение по умолчанию

function scripts ($page_name=null ...


и вызывать

scripts();


2. Наверн не конкатенацию нужно юзать, а в массив писать

Цитата
$scripts_complate .=  $v;


$scripts_complate[] =  $v;


и функция вернёт массив

Спустя 11 минут, 55 секунд (17.08.2012 - 10:29) Shkiper написал(а):
мне нужно чтоб он вернул не массив а значение массива. тоесть надо чтоб он вывел

<script type="text/javascript" src="/system/skins/js/onready.js"></script>
<script
type="text/javascript" src="/system/skins/js/poll.js"></script>

Спустя 37 минут, 33 секунды (17.08.2012 - 11:07) l@pteff написал(а):
Shkiper
в массиве не должно быть одинаковых ключей\индексов

Спустя 57 минут, 54 секунды (17.08.2012 - 12:05) dron4ik написал(а):
'page_all' => '<script type="text/javascript" src="/system/skins/js/onready.js"></script>',
'page_all' => '<script type="text/javascript" src="/system/skins/js/poll.js"></script>',

page_all заменяет page_all...

разные ключи дай... page_all_1 и page_all_2 к примеру)

Спустя 1 час, 49 минут, 40 секунд (17.08.2012 - 13:54) Shkiper написал(а):
blink.gif как я про это забыл

Спустя 1 час, 7 минут, 10 секунд (17.08.2012 - 15:02) Winston написал(а):
Или же в page_all вложи еще один массив

Спустя 2 часа, 27 минут, 4 секунды (17.08.2012 - 17:29) Krevedko написал(а):
Мрак какой-то. Зачем в массив полные пути писать. Для примера реализация во фреймворке. Пишем в массив стили и ява-скрипты

$this->template->styles = array('main', 'jquery.fancybox');
$this->template->scripts = array('jquery-1.3.2.min', 'jquery.easing.1.3', 'jquery.fancybox-1.2.1.pack');


Потом в шаблоне вывод

<?php
foreach($styles as $style):
echo HTML::style('media/css/'. $style . '.css');
endforeach;

foreach($scripts as $script):
echo HTML::script('media/js/'. $script . '.js');
endforeach;
?>


Получаем

<link type="text/css" href="/media/css/main.css" rel="stylesheet" /><link type="text/css" href="/media/css/jquery.fancybox.css" rel="stylesheet" />
<script
type="text/javascript" src="/media/js/jquery-1.3.2.min.js"></script><script type="text/javascript" src="/media/js/jquery.easing.1.3.js"></script><script type="text/javascript" src="/media/js/jquery.fancybox-1.2.1.pack.js"></script>

Спустя 16 часов, 59 минут, 15 секунд (18.08.2012 - 10:28) Shkiper написал(а):
Krevedko ну это фреймворки smile.gif

Спустя 45 минут, 51 секунда (18.08.2012 - 11:14) pak написал(а):
Shkiper
А в чем проблема создать функцию на подобие? wink.gif

Спустя 46 минут, 8 секунд (18.08.2012 - 12:00) Shkiper написал(а):
меня мой вариант больше устраивает.

Спустя 1 час, 7 минут, 8 секунд (18.08.2012 - 13:07) Krevedko написал(а):
Цитата (pak @ 18.08.2012 - 09:14)
Shkiper
А в чем проблема создать функцию на подобие? wink.gif

Я про это и намекнул. Сделать функцию со свич-кейсом тем же, в которую передавать путь к файлу и его тип (цсс, ява-скрипт итд). И генерить уже код.

А не эти простыни писать.

Спустя 6 часов, 42 минуты, 50 секунд (18.08.2012 - 19:50) Shkiper написал(а):
Krevedko smile.gif)))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.