Добро пожаловать, Гость!
Помогите с массивом - Страница 7
Помощь мастерам | Помогите с массивом


Помогите с массивом
25 Янв 2022Всем привет давненько не рабтал на php в общем суть
<?php
$a = array(1=>1,3=>3,2=>2); // порядок важен!
$b = array(1=>0);
$c = $a+$b; // Сливаю
print_r($c); // Отладочная функция
?>
Суть в том что массив сортируется от 0 и по порядку, а мне нельзя нарушать порядок. как реализовать при помощи цикла я понимаю, но хотелось бы без ГК.
Комментарии:

Скиталец, смотри...
--- Сама суть... Мы массив можем сортировать либо по значению, либо по ключу.
Как должен выглядеть твои массив, напиши пример.


Автор темы
DoR, пробовал один хрен при сливании порядок выстраивается. придется зацикливать или базу шмотов править...

Скиталец (25 Янв 2022):
если идея не понятна могу слить наброски.
Скиталец, на жаль не где тестить.если идея не понятна могу слить наброски.
--- Но если массив сортируешь по ключу, то есть важен порядок ключей а не значения, убери сортировку
Вот это - rsort( $result );


Автор темы
<?
// А вот этот приём я нагло угнал из разрухи
?>
<style>
.dummy{width:auto;text-align:center;margin-left:auto;margin-right:auto;}
.dummy td{vertical-align:top;}
.dummy .slot{width:35px;height:35px;padding:2px 2px 3px;background-image:url('img/bg-dummy-slot.png');background-repeat:no-repeat;}
.dummy .pic_shd{text-align:center;width:180px;height:200px;background-image:url('img/bg-dummy-shd.png');background-position:50% 0;background-repeat:repeat-y;}
.w39px{width:39px;}
.p_relative {position: relative;}
</style>
<?
echo '<div class="nav1"><table class="dummy"><tbody>';
$i = 0;
$arr = unserialize($uc['inv']);
foreach($arr as $inv){
$i++;
$rune = ($inv!=0)?mysql_fetch_array(mysql_query('SELECT `rune` FROM `inv` WHERE `id_items` = "'.$inv.'" AND `id_user` = "'.$uc['id_user'].'" ')):FALSE;
echo '<td class="w39px"><div class="slot p_relative"><div class="gem_slot ">'.(($rune!=false && $rune['rune']!=0)?'<img src="img/rune/'.$rune['rune'].'.png"/>':NULL).'</div></div></td>';
if($i==1) echo '<td colspan="2" rowspan="5"><div class="pic_shd">'.clan::maneken($uc['id_user'], 150).'</div></td>';
else if($i%2==0 && $i!=8)echo '</tr><tr>';
else if($i==8)echo '</tr>';
}
?>
//Если убить порядок руны перемешаются а вещи наденутся на манекен в хаотичном порядке


Автор темы
DoR, вот
<?
public static function create_maneken($pol,$arr,$id){
$image = imagecreatefrompng(H.'clan/img/items/'.$pol.'.png');
foreach ($arr as $value) {
$value_stryng = (int)$value;
$maneken = imagecreatefrompng(H.'clan/img/items/'.$pol.'/'.$value_stryng.'.png');
imagecopy($image, $maneken, 0, 0, 0, 0, 480, 640);
}
imagepng($image,H.'sys/maneken/fool/'.$id.'.png'); // Основной
$img_i = imagecreatefrompng(H.'sys/maneken/fool/'.$id.'.png');
$img_o = imagecreatetruecolor(150, 150);
$w = ($pol==0)?150:170;
imagecopy($img_o, $img_i, 0, 0, $w, 30, 150, 150);
imagepng($img_o, H.'sys/maneken/mini/'.$id.'.png'); // Мини
}
// $arr - сериализованный массив с вещами
?>
метод сборки


Автор темы
DoR, все верно. но массив сменил индексы. а этого делать нельзя ключи условны, важно их положение в цикле foreach