Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Добавление элемента к массиву
 
 автор: _makar   (07.05.2006 в 23:52)   письмо автору
 
 

массив находится в одельном файле x.php


$lang = array(
'menus'=>'Menus', 
'blocks'=>'Blocks',
...
)


нужно добавить в него элемент типа

$lang['ok'] = "Ok";


из другого файла!!! или желательно array_unshift чтобы в начало массива но для асс -х нашёл что-то вроде такого :


<?php 
$arrayone
=array_merge(array("newkey"=>"newvalue"),$arrayone); 
?>


незнаю работает оно или нет, так как вобще ничего не работает 8)
Пробывал с include x.php - не получается..

подскажите как Добавить
спасибо!

   
 
 автор: cheops   (07.05.2006 в 23:54)   письмо автору
 
   для: _makar   (07.05.2006 в 23:52)
 

Да вы прямо так и пишите
<?php
  $lang
['ok'] = "Ok";
?>

элемент добавится.

   
 
 автор: _makar   (07.05.2006 в 23:55)   письмо автору
 
   для: cheops   (07.05.2006 в 23:54)
 

так и пишу.. не добавляется =/

   
 
 автор: cheops   (08.05.2006 в 00:46)   письмо автору
 
   для: _makar   (07.05.2006 в 23:55)
 

Приведите кусок кода, которым подключаете второй файл?

   
 
 автор: _makar   (08.05.2006 в 00:54)   письмо автору
 
   для: cheops   (08.05.2006 в 00:46)
 


<?

/**/
case "LangAdding":
global 
$langad$config;
...
..
..
include_once (
'lang/lang-french.php');
$langad["contents_".$lang_name] = $lang_name;
break;

/**/
case "EditVocabulary":
EditVocabulary();
break;

?>


может всё что в case перенести в функцию, как во втором примере?

   
 
 автор: cheops   (08.05.2006 в 09:34)   письмо автору
 
   для: _makar   (08.05.2006 в 00:54)
 

Всё равно не понятно, я вот что имел ввиду, пусть у нас имеется файл arr.php следующего содержания
<?php
  $lang 
= array( 
          
'menus'=>'Menus'
          
'blocks'=>'Blocks');
?>
Тогда результатом скрипта
<?php
  
include "arr.php";
  
$lang['ok'] = "Ok";
  echo 
"<pre>";
  
print_r($lang);
  echo 
"</pre>";
?>
будет дамп массива следующего вида
Array
(
    [menus] => Menus
    [blocks] => Blocks
    [ok] => Ok
)

Разумеется если мы после этого где-нибудь включим файл arr.php в другой файл, в нём элемента ok уже не будет - он будет входить в состав массива только там, где мы его определили - если необходимо, чтобы элемент оставался в массиве на любом этапе и в любом файле - необходимо использовать сессии. Или имеется ввиду что-то другое?

   
 
 автор: _makar   (08.05.2006 в 14:07)   письмо автору
 
   для: cheops   (08.05.2006 в 09:34)
 

понятно.. a array_push или array_unshift тоже так же работают?
и если да - то меня как интересует обратное т.е. чтобы оставался в массиве!
может можно просто записать в файл


'ок'=>'Ок',


как строчку в массив?

   
 
 автор: cheops   (08.05.2006 в 18:19)   письмо автору
 
   для: _makar   (08.05.2006 в 14:07)
 

Не очень понятна фраза
может можно просто записать в файл 
'ок'=>'Ок', 
как строчку в массив?

имеется ввиду отредактировать php-файл с массивом $arr средствами же PHP?

   
 
 автор: _makar   (09.05.2006 в 06:20)   письмо автору
 
   для: cheops   (08.05.2006 в 18:19)
 

да,
записать это выражение 'ок'=>'Ок', или как уже там выразится -// извените за неграмотность 8) в php-файл с массивом $arr средствами же PHP, чтобы сей массив можно было бы включать в другие доки..

   
 
 автор: cheops   (09.05.2006 в 11:23)   письмо автору
 
   для: _makar   (09.05.2006 в 06:20)
 

Лучше сохранить ключи и элементы массива в текстовом файле, а массив формировать открывая его при помощи функции file() - добавлять элемент в текстовый файл всегда проще, чем в PHP-код.

   
 
 автор: _makar   (10.05.2006 в 01:27)   письмо автору
 
   для: cheops   (09.05.2006 в 11:23)
 

я хотел тоже так сделать, потом

<?
$config_file 
"lang_french.conf";

$fp = @fopen($config_file"r");

while (
$line = @fgets ($fp1024)) {
list (
$name$value) = explode ('='$line);
$name trim ($name);
$value trim ($value);

$config[$name] = $value;
}

?>




только повсюду на страницах у меня вызывает array типа


         <tr>
       <td>   <?php echo $langad['ADMIN_NAME']; ?></td> 
       <td>      <?php echo $langad['ADMIN_OPTIONS']; ?></td> 
       </tr>




ну а в шапке файла вызывающего эти страницы include

<?
include 'lang/lang-'.$config['lang'].'.php';
global 
$langad;
header();
..
footer();
?>


я не нашёл как я могу сформировать array из текстового файла так что бы вызывать потом нужные не елементы

   
 
 автор: _makar   (10.05.2006 в 11:18)   письмо автору
 
   для: cheops   (07.05.2006 в 23:54)
 

-

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования