简体   繁体   English

如何从PHP中的多个值创建数组

[英]How to create an array from multiple values in PHP

I have a PHP code (wordpress) thats working fine, I just feel there is a smarter way of shortening the whole syntax by some array of some sort, somebody help, code neatness comes first, here it is: 我有一个可以正常工作的PHP代码(wordpress),我只是觉得有一种更聪明的方法可以通过某种数组来缩短整个语法,有人帮忙,代码整洁首先出现,这是:

<?php
    $user = wp_get_current_user();
    // is there someone logged?
    if ($user->ID) {
        echo '<ul class="availableindex nav nav-pills nav-stacked">';
        $n1 = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER1'));
        $n2 = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER2'));
        $n3 = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER3'));
        $n4 = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER4'));
        $n5 = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER5'));
        $n6 = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER6'));
        $n7 = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER7'));
        $n8 = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER8'));
        $n9 = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER9'));
        $n10 = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER10'));

        echo '<li><a href=# class=dir>' . $n1 . '</a></li>';
        echo '<li><a href=# class=dir>' . $n2 . '</a></li>';
        echo '<li><a href=# class=dir>' . $n3 . '</a></li>';
        echo '<li><a href=# class=dir>' . $n4 . '</a></li>';
        echo '<li><a href=# class=dir>' . $n5 . '</a></li>';
        echo '<li><a href=# class=dir>' . $n6 . '</a></li>';
        echo '<li><a href=# class=dir>' . $n7 . '</a></li>';
        echo '<li><a href=# class=dir>' . $n8 . '</a></li>';
        echo '<li><a href=# class=dir>' . $n9 . '</a></li>';
        echo '<li><a href=# class=dir>' . $n10 . '</a></li>';
        echo '</ul>';
    }

?>

The shorten way could be 缩短的方法可能是

$numberArray = array('NUMBER1', 'NUMBER2',...);

foreach ($numberArray as $number)
{
   echo '<li><a href=# class=dir>' . cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, $number)) . '</a></li>';

}
for($i = 1; $i <= 10; $i++) {
    echo '<li><a href=# class=dir>' .
    cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER' . $i))
   '</a></li>';
}

You can use a loop to create the $n array and then another loop to print it. 您可以使用循环创建$n数组,然后使用另一个循环进行打印。

$count = 10;
for($i = 0; $i < $count; $i++) {
    $n[$i] = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER' . $i+1));
}
for($i = 0; $i < $count; $i++) {
    echo '<li><a href=# class=dir>' . $n[$i] . '</a></li>';
}

Or, if you don't need to do them separately, you can do it all in one loop without the need of an array at all. 或者,如果您不需要单独进行操作,则可以在一个循环中完成所有操作,而根本不需要数组。

$count = 10;
for($i = 0; $i < $count; $i++) {
    echo '<li><a href=# class=dir>' . cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER' . $i)); . '</a></li>';
}

.Try this 。尝试这个

$user = wp_get_current_user();
// is there someone logged?
if ($user->ID) {
    echo '<ul class="availableindex nav nav-pills nav-stacked">';

    for($i=1; $i<=10; $i+=1){
      $t = cimy_uef_sanitize_content(get_cimyFieldValue($user->ID, 'NUMBER' . $i));
      echo '<li><a href=# class=dir>' . $n[$i] . '</a></li>';
    }
    echo '</ul>';
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM