需要检查 $ message 长度是否为7个字符或更少,如果是,请执行操作A,如果不是,请执行操作B.这是正确的语法吗?我想我做错了什么?
<?php
if (strlen($message) <= 7) {
echo $actiona;
} else {
echo $actionb;
}
?>
答案 0 :(得分:17)
没关系。例如,让我们运行以下内容:
<?php
$message = "Hello there!";
if (strlen($message) <= 7){
echo "It is less than or equal to 7 characters.";
}
else
{
echo "It is greater than 7 characters.";
}
?>
它将打印:“它大于7个字符。”
答案 1 :(得分:2)
如果/ else使用三元运算符(?:),您可能还想使用PHP简写。
例如,而不是:
<?php
if (strlen($message) <= 7) {
echo $actiona;
} else {
echo $actionb;
}
?>
你可以把它写成:
<?php echo strlen($message) <= 7 ? $actiona : $actionb; ?>
有关三元运算符的信息,请参见How do I use shorthand if / else?。
答案 2 :(得分:1)
您收到了哪些错误消息?
我会检查一下,当你事先设置$message
时,你没有拼错它或使用不正确的大小写(记住php是cAsE敏感的)。
答案 3 :(得分:1)
没关系。
但你应该使用长php标签(短标签可以被禁用;而且经常是这样):
<?php
// ... PHP code
?>
(如果您的文件只包含PHP,则结束标记是可选的)
答案 4 :(得分:0)
我在www周围发现了这个 ISSET“技巧” ,我不记得在哪里。 尝试先运行像这样的脚本,然后取消注释第二行$ message = ..以覆盖另一个字符串长度。
library(shiny)
library(dplyr)
optimzation <- function(input, output, session, data,budget,run,reset) {
v <- reactiveValues(data = data)
observeEvent(run(), {
v$data <- data %>% mutate(carb = mpg * budget())
})
observeEvent(reset(), {
v$data <- data # your default data
})
output$mod_table <- DT::renderDataTable({
DT::datatable(v$data, filter = "top")
})
}
optimzationUI <- function(id) {
ns <- NS(id)
DT::dataTableOutput(ns("mod_table"))
}
shinyApp(
ui = basicPage(
mainPanel(
numericInput("budget_input", label = h5("Total Budget"), value = 9000000),
actionButton("opt_run", "Run"),
actionButton("opt_reset", "Reset"),
tags$hr(),
optimzationUI("optimize")
)
),
server = function(input, output) {
demodata<-mtcars
callModule(optimzation,"optimize", demodata,
budget = reactive(input$budget_input),
run = reactive(input$opt_run),
reset = reactive(input$opt_reset))
}
)
当然
<?php
$actiona="ACTIONA";
$actionb="ACTIONB";
$message="1234567";
//$message="12345678";//try to comment /uncomment these
if (!isset($message{7})) {
echo $actiona;
} else {
echo $actionb;
}
?>
祝你好运!我们都爱PHP !!!!