访问函数外部的变量

发布于 2024-12-11 20:10:57 字数 372 浏览 0 评论 0原文

如果我有这样的函数:

function ($form, $db) {  
     $v = count($a);
}

function ($form, $db);

并且此代码位于同一文件中,

<script type="text/javascript">
$(document).ready(function() {
    for ($i=0; $i< <?php echo $v-1; ?>; $i++) {//here
}

我如何访问变量 $v ?我已经知道全局变量通常是一种不好的做法,那么有什么选择呢?

谢谢

if i have a function like that:

function ($form, $db) {  
     $v = count($a);
}

function ($form, $db);

and this code in the same file

<script type="text/javascript">
$(document).ready(function() {
    for ($i=0; $i< <?php echo $v-1; ?>; $i++) {//here
}

how can i access the variable $v ? i already know that global variables are generally a bad practice, so what is the alternative?

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

夜吻♂芭芘 2024-12-18 20:10:57

使用返回$v

function ($form, $db) {  
     $v = count($a);
     return $v;
}

<script type="text/javascript">
$(document).ready(function() {
    for ($i=0; $i< <?php echo function( $form , $db )-1; ?>; $i++) {//here
}

Use return $v:

function ($form, $db) {  
     $v = count($a);
     return $v;
}

<script type="text/javascript">
$(document).ready(function() {
    for ($i=0; $i< <?php echo function( $form , $db )-1; ?>; $i++) {//here
}
青衫儰鉨ミ守葔 2024-12-18 20:10:57

在函数中使用 return 可以在全局范围内设置 $v 的值。然后该变量将可以在函数外部访问。

<?php
function ttt($form, $db)
{
    return count($db);
}
$v = ttt($form, $db);

现在 $v 可以通过全局范围访问。

另外,请注意,javascript 变量不使用 $ 前缀,因此 $i 需要只是 i...除非我在那里遗漏了一些东西。

Use return on your function to set the value of $v in the global scope. Then the variable will be accessible outside of the function.

<?php
function ttt($form, $db)
{
    return count($db);
}
$v = ttt($form, $db);

Now $v is accessible via the global scope.

Also, note that javascript variables do not use the $ prefix, so $i would need to be just i... unless I'm missing something there.

最终幸福 2024-12-18 20:10:57

使用全局变量;只需给它一个比 $v 更具描述性的名称,这样就不会有与其他内容冲突的危险。

Use a global variable; just give it a more descriptive name than $v so there's no danger of it clashing with something else.

空宴 2024-12-18 20:10:57

基本的返回怎么样?

function name($form, $db) {  
     $v = count($a);
     return $v;
}

$v = name($form, $db);

What about basic return ?

function name($form, $db) {  
     $v = count($a);
     return $v;
}

$v = name($form, $db);
素罗衫 2024-12-18 20:10:57

使用函数本身,给它一个名称并使用返回的值,就像这样

function counter($form, $db) {  
 $v = count($a);
 return $v;
}

,并在脚本文件上以这种方式调用函数

<script type="text/javascript">
$(document).ready(function() {
  for ($i=0; $i< <?php echo ($this->counter())-1; ?>; $i++) {//here
}

我希望它有帮助

use the function itself, give it a name and use the returned value liks this

function counter($form, $db) {  
 $v = count($a);
 return $v;
}

and on the script file call the function this way

<script type="text/javascript">
$(document).ready(function() {
  for ($i=0; $i< <?php echo ($this->counter())-1; ?>; $i++) {//here
}

i hope it helps

北方的巷 2024-12-18 20:10:57

使用类来声明全局变量,这样它就可以为它们提供上下文

示例:

class Config {
    public static $v;
}

然后您可以使用 Config::$v = count(a);

如果您有更多全局变量(例如一些彼此相关的配置参数)并且需要在整个应用程序中读取和写入它们,那么这会很有用。

如果这不是一个案例并且这只是一个单一的案例,那么您应该考虑使用返回值。

Use a class to declare your global variables, so it can give them a context

Example :

class Config {
    public static $v;
}

then you can use Config::$v = count(a);

This can be useful if you have more global variables like some configuration parameters that are related to each other and you need to read and write them throughout the application.

If it's not a case and this is just a singular case, than you should consider using the return value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文