草庐IT

开关门

全部标签

php - 计数功能在开关中不起作用

我的问题是count函数在这个switch语句中不起作用,我不确定为什么。我知道可能有更好的方法来执行此操作,但我只是想专门解决这个问题以使其正常工作。switch(count($matches[1])){casecount($matches[1])=1:print"$matches[1][0]";break;casecount($matches[1])=2:print"$matches[1][0]$matches[1][1]";break;casecount($matches[1])=3:print"$matches[1][0]$matches[1][1]$matches[1][2]

PHP 开关问题

我有来自API的输出:getFixturesByMatchday(1)as$fixture){?>homeTeamName;?>-awayTeamName;?>result->goalsHomeTeam;?>:result->goalsAwayTeam;?>这很好用,它输出的名称如下:WalsallFCin:homeTeamName;?>现在我希望将输出翻译成FR语言,例如“équiperouge”而不是“WalsallFC”我在php页面的标题中尝试这个PHPSwitch,但我得到的是空白屏幕:switch($teamName){case$fixture->homeTeamName[

php - 使用 PHP 在开关盒中打印数组

我正在尝试打印$data的不同字段数组(如果它们存在)使用switch/case。Array([title]=>title[type]=>Movie[hour]=>[dayoftheweek]=>5[dayofthemonth]=>)我正在尝试做的事情:等等谢谢!问题是什么都没有显示,但是当我输入例如时它正在显示的外部开关/外壳。 最佳答案 问题是您的代码正在尝试使用像唯一变量这样的倍数数组。您需要执行一个foreach来解析所有数组变量,然后您可以使用一个开关来获取每个值(标题、类型等)并返回您需要的HTML。试试这个:$valu

php - 将开关转换为数组

所以我有一个处理各种其他功能的函数,我使用switch语句来处理这些带有cases和breaks的函数。一切正常。我可以将其更改为带有keys的array吗?这是代码switch($intMultiFun){case"a":handleafunctionbreak;case"b":handleafunctionbreak;case"c":handleafunctionbreak;case"d":handleafunctionbreak;} 最佳答案 $map=array('a'=>'a_func_name','b'=>'b_func

php - 有没有办法使用 PHP 在 Windows 文件上切换 "Hidden"或 "Read-Only"开关?

已更新如标题所述,有没有办法使用PHP在Windows上切换“隐藏”或“只读”开关?如果可能的话,我想在不打开shellexec()的情况下执行此操作。 最佳答案 文件不能隐藏,它总是在文件系统中。*NIX约定以.开头的文件默认不会显示某些操作(如ls命令),但前提是你看起来不够努力.Windows也是如此,但Windows使用文件元属性对其进行处理。您可以/应该做的是使用文件权限使任何无权访问该文件夹/文件的人都无法访问该文件夹/文件。使用chmod,chown和chgrp从PHP这样做。不过,您可能需要了解一些有关正确的文件系统

PHP 开关,为什么这不起作用?

我有一个奇怪的问题,我似乎无法解决。我有相当复杂的代码,但我已经简化了它,问题仍然存在。请参阅以下内容:'correct');switch(true){caseempty($meta['meta_description']):$meta['meta_description']='incorrect';caseempty($meta['meta_keywords']):$meta['meta_keywords']='incorrect';caseempty($meta['meta_title']):$meta['meta_title']='incorrect';}print_r($met

PHP 开关函数无法识别 "less than 0"

$bytes=0;switch($bytes){case$bytes==0:echo'Equalto0.';break;case$bytes这会输出“小于0”。为什么? 最佳答案 switch语句不是那样工作的。检查每个case时,该值与case进行比较值(使用==)。所以,PHP正在做:是否$bytes==($bytes==0)?这是:$bytes==(true).这是false,所以它被跳过了。是否$bytes==($bytes?这是:$bytes==(false).这是true,所以它运行那个block。您需要使用if/els

PHP5 - OOP - 多态性 - 帮我重写这个简单的开关

假设我有这个经典的switch,我知道当我们构建类时使用switch方法不是一个好习惯,那么,我如何在不使用的情况下将其重建为一个类switch但Polymorphism我想了解这种方法。/***globalsbelowareholdinguniqueid*$Franklin['Franklin_id'],*$Granny_Smith['Granny_Smith_id'],*etcetc...*/global$Fuji,$Gala,$Franklin,$Granny_Smith;switch($Apple){case'Fuji':$Color='Yellowishgreen';$Siz

php - PHP 中有没有一种方法可以在 foreach 中重新启动循环,或者在开关中更改测试值?

如果我在一个数组上循环,而在其中一个循环的中间我发现了一些小问题,改变……一些事情……,然后需要再试一次……有没有办法跳回到循环的顶部而不从数组中获取下一个值?我怀疑这是否存在,但它会是一些关键字,如continue或break。事实上,它很像continue,只是它不会获取下一项,它会保留内存中的内容。如果什么都不存在,我可以将一些东西插入到数组中,使其成为循环中的下一个键/值吗?也许这会更容易while(array_shift())...或者我想循环内的递归函数可能会起作用。好吧,随着我输入这个问题,我的问题在不断演变,所以请查看这个伪代码:foreach($storage_loc

php - 在 PHP 5.5.9 的 PHP 开关中使用常量

在Ubuntu 14.04上安装PHP5.5.9之后(TrustyTahr),我在switch语句和PHP_OS常量中发现了这种奇怪的行为。我假设在PHP5.5.9中switch语句也在检查相同的类型(===)?或者这是一个PHP错误?echoPHP_OS;//Linux$os=PHP_OS;switch(PHP_OS){case"WINNT":echo'Windows';break;case"Linux":echo'Linux';break;default:echo'Default';break;}//Defaultswitch((string)PHP_OS){case"WINNT"