Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP根据条件动态别名列值_Php_Associative Array - Fatal编程技术网

使用PHP根据条件动态别名列值

使用PHP根据条件动态别名列值,php,associative-array,Php,Associative Array,我想按条件更改echo上的列值。用作列值的说明。但我碰巧在我的工作中只附和了第一条令人满意的条款 听说关联数组可以解决这个问题。根据我的项目条件和知识水平,我无法做到这一点。下面是函数的清晰代码 function UFLAGAlias($productResult) { while ($uflag = oci_fetch_assoc($result)) { $uflagc = $uflag["UFLAG"]; if($uflagc == 0) {

我想按条件更改echo上的列值。用作列值的说明。但我碰巧在我的工作中只附和了第一条令人满意的条款

听说关联数组可以解决这个问题。根据我的项目条件和知识水平,我无法做到这一点。下面是函数的清晰代码

function UFLAGAlias($productResult)
{    
while ($uflag = oci_fetch_assoc($result))
{ 

    $uflagc = $uflag["UFLAG"]; 


    if($uflagc == 0)
    {
        $uflagc= "Not Blocked";
        printf($uflagc);
    }

    else if($uflagc == 64)
    {
        $uflagc = "Blocked by system administrator";
        printf($uflagc);
    }

    else if($uflagc == 192)
    {
        $uflagc = "Blocked by system administrator\nBlocked for invalid logon"; 
        printf($uflagc);
    }

    else if($uflagc == 128)
    {
        $uflagc = "Blocked for invalid logon";
    }

    else
    {
        $uflagc = "";
    }
    return $uflagc;
}
}
论回声

<?php
if (! empty($productResult)) {
foreach ($productResult as $key => $value) { 
?>
   <tr>
   <td><?php UFLAGAlias($productResult[$key]); ?></td>                
   </tr>
<?php
]
]

?>


因此,正如我期望动态输出值一样,所有列值都设置为“notblocked”。它们必须是有条件的。我相信这些代码就足够了,因为rest是私有的。

您正试图从一个密钥中提取,因为您的密钥是颠倒的

您需要获取结果集,然后(如果需要)遍历结果关联数组

<?php
function UFLAGAlias($uflag){
   $uflags = array( 0 => 'Not Blocked'
                  , 64 => 'Blocked by system administrator'
                  , 192 => 'Blocked by system administrator\nBlocked for invalid logon'
                  , 128 => 'Blocked for invalid logon'
                  );
   return isset($uflags[$uflag]) ? $uflags[$uflag] : '';
}

if (! empty($productResult)) {
   while( $row = oci_fetch_assoc($productResult) ):
?>
   <tr>
   <td><?echo UFLAGAlias($row['UFLAG']); ?></td>                
   </tr>
<?php
   endwhile;
?>


不清楚您打算发生什么。请提供一个示例,说明
$productResult
中的内容以及生成的HTML代码的所需输出。@fyrye$productResult从SAP的USR02(用户)表中检索字段。UFLAG字段将用户的锁定状态保持为整数索引值。但它们不应该是数字,而应该显示为UFLAGAlias()函数的满足条件。请更新您的问题,以包含一组示例数据,预期结果应该是,它不必是源数据,并且您应该删除任何机密数据。看见现在我们只知道你想要完成的事情的一半,并且需要很多假设来确定你实际期望发生的事情。是的,我需要在这个函数中遍历关联数组。它很有魅力:谢谢