#php #variables
#php #переменные
Вопрос:
Я пытаюсь сгенерировать следующую переменную:
$v = $current_user->wpum_field_11;
из следующих двух переменных:
$a = $current_user->wpum_field_;
$b = $user_id = get_post_meta($postid, 'user-id', true);
Я попробовал несколько вариантов вокруг:
$v = $a . $b;
… но это всего лишь вывод числа 11.
Комментарии:
1. Не уверен, чего вы пытаетесь достичь, но это звучит как очень неудачная идея, полная ошибок и головной боли, когда вы возвращаетесь к этому коду. В любом случае,
$a = '$current_user->wpum_field_';
должно сработать.2. Каждый раз, когда вы обнаруживаете, что используете нумерованные переменные, вам почти наверняка следует использовать вместо них массив.
Ответ №1:
Используйте это, программно создавая полное имя атрибута.
$attrName = "wpum_field_";
$number = $user_id = get_post_meta($postid, 'user-id', true);
$attribute = $attrName.$number;
$v = $curren_user->$attribute;
Комментарии:
1. большое вам спасибо, Дез, мне просто нужно было удалить «= $user_id» из второй строки. Как называется этот метод? еще раз спасибо,
2. @Scot Это называется «переменные variables»
3. Я не уверен, есть ли у нее конкретное имя, но она генерирует имена атрибутов с помощью переменных. Я отредактировал свой код, потому что вы генерировали имена атрибутов, а не методы, хотя тот же подход сработал бы, если вы хотите программно генерировать вызовы методов объектов.