php,将ajax传递给变量的值

时间:2016-02-19 17:55:39

标签: javascript php jquery ajax

因此,在js中,您可以在函数之外添加一个变量,push可用于向其添加值并在其他任何位置访问它。

var names = [];
function my_function_js(){
    alert(names);
}

在php中,变量可以以类似的方式运行吗?

例如,假设我有一个带变量的ajax函数。然后我想知道我是否可以在多个场合使用ajax为这个变量添加不同的值。

$names   = array();
function my_function(){
   $names[]   = $_POST['names'];
}

假设第一个ajax调用已通过mike。然后steve进行第二次通话,sean进行最后一次通话。

每个值是否会覆盖以前的值,还是会像js一样保存?

(换句话说,我想知道我是否可以使用ajax多次调用将值添加到php变量中。)

感谢。

修改

有人指出,每次进行新的ajax调用时,都会重置ajax变量(在这种情况下为$names)。

然后,如何让另一个不受ajax调用影响的变量并简单地将ajax值推送给它?

例如:

$FULL_NAMES   = array();
function my_function(){
   $names  = $_POST['names'];
   $FULL_NAMES[]   = $names;
}

这样的事情会起作用吗?

3 个答案:

答案 0 :(得分:4)

可以选择将值存储在import tensorflow as tf import numpy as np x = tf.placeholder(tf.float32, shape=[None, 10]) y = tf.placeholder(tf.float32, shape=[None, 2]) weight = tf.Variable(tf.random_uniform((10, 2), dtype=tf.float32)) loss = tf.nn.sigmoid_cross_entropy_with_logits(tf.matmul(x, weight), y) optimizer = tf.train.AdamOptimizer(0.1).minimize(loss) with tf.Session() as sess: tf.initialize_all_variables().run() X = np.random.rand(1, 10) Y = np.array([[0, 1]]) # Evaluate loss before running training step l1 = sess.run([loss], feed_dict={x: X, y: Y})[0][0][0] print(l1) # 3.32393 # Running the training step _, l2 = sess.run([optimizer, loss], feed_dict={x: X, y: Y}) print(l2[0][0]) # 3.32393 -- didn't change? # Evaluate loss again after training step as sanity check l3 = sess.run([loss], feed_dict={x: X, y: Y})[0][0][0] print(l3) # 2.71041 数组中。

您需要添加

$_SESSION

到页面顶部

并使用。

session_start();

答案 1 :(得分:3)

如果您只需要当前用户的数组,并且您不需要将数据持久存储在用户会话中。您可以使用会话变量。

$_SESSION['names'][] = $_POST['names'];

与其他用户一样,不要忘记在代码的开头添加session_start()

编辑:我用Adam Copley评论更新了我的答案

答案 2 :(得分:2)

是的,您可以按照您的方式或使用push向数组中添加项目,但请记住,PHP不是持久性的,所以如果您只是在谈论ajax调用时您在此期间添加的值电话将会存在。

<?php 

$names = array();
$names[] = "Mark";
$names[] = "Franklin";
$names[] = "Sam";

var_dump($names);

输出:

array(3) {
  [0]=>
  string(4) "Mark"
  [1]=>
  string(8) "Franklin"
  [2]=>
  string(3) "Sam"
}

如果你想要持久性,你将不得不将值存储在cookie,db,文件系统,内存缓存(如redis)或其他地方。