str_replace и масив - как?

misho

Registered
Изкарал съм си месеците, като цифри от 1 до 12, но искам да ги превърна в думи. Написах това, но не променя нищо. str_replace не работи с масиви или аз бъркам някъде?
Код:
$search_month = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12');
$replace_month = array('Яну', 'Фев', 'Мар', 'Апр', 'Май', 'Юни', 'Юли', 'Авг', 'Сеп', 'Окт', 'Ное', 'Дек');
for($i = 0; $i < 12; $i++)
 {
  str_replace($search_month, $replace_month, $view_month[$i]);
 }
 
Така ? :)
Код:
<?php

	$months = array
	(
		'1' => 'Януари',
		'2' => 'Февруари',
		'3' => 'Март',
		'4' => 'Април',
		'5' => 'Май',
		'6' => 'Юни',
		'7' => 'Юли',
		'8' => 'Август',
		'9' => 'Септември',
		'10' => 'Октомври',
		'11' => 'Ноември',
		'12' => 'Декември'
	);
	
	for($i = 0; $i < 12; $i++) 
	{
		echo $months[$i] . '<br />';
	} 

?>
 
Това ги извежда. Искам, както са си в масива, като цифрички, да ги променя на думи и тогава вече да си ги слагам където пожелая.
 
За какво ти е този цикъл?
$search_month = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12');
$replace_month = array('Яну', 'Фев', 'Мар', 'Апр', 'Май', 'Юни', 'Юли', 'Авг', 'Сеп', 'Окт', 'Ное', 'Дек');
echo str_replace($search_month, $replace_month, $view_month[$i]);
 
Ами то варианта на това което искаш е да сложиш [$i] и на другите параметри в str_replace.. но е малко безмисленичлко това което правиш така че да ти предложа друг вариант по лесен е
Код:
$sm[1]="qnuari";
$sm[2]="fevruari";
.
.
.
$sm[12]="dekemvri";

$view_month=$sm[$nomer];
Не знам дали ти върши работа ама и ти не си написал за какво ти трябва точно.
 
Replace каза:
За какво ти е този цикъл?
$search_month = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12');
$replace_month = array('Яну', 'Фев', 'Мар', 'Апр', 'Май', 'Юни', 'Юли', 'Авг', 'Сеп', 'Окт', 'Ное', 'Дек');
echo str_replace($search_month, $replace_month, $view_month[$i]);
Иначе как ще укажа, за кой точно запис в масива става дума? Пак си остават цифри. :idea:

ifkooo, трябват ми последните 12 месеца, така че на позиция 12 да е миналия месец, а на по-назад изминалите. В случая сме 3-ти месец, т.е. имам това (позиция/месец).
12 - 2
11 - 1
10 - 12
9 - 11
8 - 10
7 - 9
6 - 8
5 - 7
4 - 6
3 - 5
2 - 4
1 - 3

Подредбата съм си я направил. Не мога да променя месеците в думи.
 
Код:
$m[1]="mes1";
$m[2]="mes2";
$m[3]="mes3";
$m[4]="mes4";
$m[5]="mes5";
$m[6]="mes6";
$m[7]="mes7";
$m[8]="mes8";
$m[9]="mes9";
$m[10]="mes10";
$m[11]="mes11";
$m[12]="mes12";


$i=1;
for ($i=12;$i>=1;$i--) {
	echo $m[doubleval(date("m",mktime(0, 0, 0, date("m")-1-(12-$i), 1, date("Y"))))]."<br>"; 
}

eto bace probvai tova;
 
То аз и подредба ти направих май, ама не видях, че ти си писал, че имаш
иначе заместваш echo с "array[]="
и ще си получиш масив с подредбата и имената :) Радвам, се че и сам си се оправим,макар, че не ти препоръчвам str_replace за подобно нещо.
 

Back
Горе