Это мой первый пост, так что вот оно.
Мне нужно знать, как это сделать в PHPStorm IDE. Не используя функции PHP.
У меня есть 3 типа массивов, с которыми мне нужно работать, как показано в следующем коде:
$assoc= array(
"some_key"=>"some_valuea",
"some_keyasdasd"=>"some_valuesda",
"some_keyasdasd"=>"assome_valuedaasd",
"some_keaay"=>"asdsome_valueaasd",
"some_keyad"=>"assome_valuedaasd",
"some_keyaa"=>"some_valueasd",
"some_keysdadas"=>"asome_valueasd",
.
.
.
);
$keys=array(
"some_valuea",
"some_valuesda",
"assome_valuedaasd",
"asdsome_valueaasd",
"assome_valuedaasd",
"some_valueasd",
"asome_valueasd".
.
.
);
$values=array(
"some_key",
"some_keyasdasd",
"some_keyasdasd",
"some_keaay",
"some_keyad",
"some_keyaa",
"some_keysdadas",
.
.
.
);
Мне интересно знать, как я могу создать $keys
а также $values
массивы в текстовом редакторе, используя макрос или каким-либо автоматическим способом, предоставляя $assoc
массив.
Кроме того, я хотел бы знать, как сделать $assoc
массив, если у меня есть два других массива.
Пример того, чего я добиваюсь, приведен в этом уроке в минуту 4:35.
Мне нужен способ выбрать все ключи и просто вырезать и иметь возможность вставлять их как значения или как новый массив.
Вы пометили этот вопрос vim
поэтому я предполагаю, что чистый vim
Решение также должно работать для вас.
Следующая процедура не на 100% автоматическая, но достаточно быстрая.
$keys
и вторая копия $values
,$keys
массив и (в обычном режиме) тип qq
начать запись макроса в реестр q
, 0
перейти к началу строки, затем f>ldt,jq
,>
в строке перейти на один символ вправо, удалить до, но не включая первый ,
после этого, и, наконец, идти по линии. Мы заканчиваем запись макроса q
снова.100@q
,$values
и снова наберите qq
,0df>jq
,Функция, используемая в видео, называется режимом Visual Block.
Вы можете использовать его, набрав Control-v
в обычном режиме, а затем выберите блок текста. Затем вы можете просто вставить свой блок значений справа от блока ключей, чтобы получить объединенный массив.
Других решений пока нет …